:root{--cream:#faf6ec;--paper:#fffaf1;--orange:#c45d22;--orange-dark:#a94517;--green:#1b4539;--ink:#1d342f;--muted:#5c695e;--line:#d8d8c8;--gold:#efb05d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:Arial,Helvetica,sans-serif;font-size:1rem;line-height:1.6}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:3px solid var(--orange);outline-offset:4px}.skip{position:absolute;left:1rem;top:-5rem;background:var(--green);color:white;padding:.5rem 1rem;z-index:20}.skip:focus{top:1rem}.site-shell{overflow:hidden}.topbar{height:102px;display:flex;align-items:center;gap:2.5rem;padding:0 clamp(1.3rem,5vw,5.5rem);border-bottom:1px solid rgba(27,69,57,.12);background:var(--cream);position:relative;z-index:2}.brand{display:inline-flex;align-items:center;gap:.65rem;text-decoration:none;white-space:nowrap;line-height:1}.brand-icon{font-size:2.65rem;color:var(--orange);line-height:1}.brand strong{font-family:Georgia,serif;font-size:1.55rem;letter-spacing:-.055em;font-weight:700;display:block}.brand small{display:block;letter-spacing:.19em;font-size:.57rem;margin-top:.39rem;font-weight:700}.topbar nav{display:flex;gap:clamp(1rem,2vw,2.4rem);margin-left:auto}.topbar nav a{font-size:.87rem;text-decoration:none;font-weight:600}.topbar nav a:hover,.text-link:hover{color:var(--orange)}.button{display:inline-flex;align-items:center;justify-content:center;gap:2rem;padding:1.05rem 1.5rem;border-radius:3px;background:var(--orange);color:#fff;text-decoration:none;font-size:.91rem;font-weight:700;line-height:1.35;min-height:3.3rem;transition:background .2s,transform .2s}.button:hover{background:var(--orange-dark);transform:translateY(-2px)}.button-small{padding:.75rem 1rem;min-height:2.75rem;gap:1rem;white-space:nowrap}.hero{position:relative;min-height:680px;display:flex;align-items:center;background:linear-gradient(90deg,#faf6ec 0%,#faf6ec 46%,rgba(250,246,236,.5) 62%,transparent 100%);isolation:isolate}.hero-copy{position:relative;z-index:1;width:min(690px,60%);padding:6rem 0 6.3rem clamp(1.3rem,8.2vw,9rem)}.hero-art{position:absolute;z-index:-1;inset:0 0 0 35%;background-image:url('hero.webp');background-position:75% center;background-size:cover}.eyebrow,.kicker,.section-number,.micro,.card-index,.availability-details span{font-size:.73rem;font-weight:700;letter-spacing:.18em}.eyebrow{color:var(--orange);display:flex;align-items:center;gap:.75rem}.eyebrow-line{width:28px;height:1px;background:var(--orange)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.057em;line-height:1.04}h1{font-size:clamp(3.4rem,5vw,6.3rem);margin:1.5rem 0 1.6rem}h1 em,h2 em{font-weight:400;color:var(--orange)}.hero-copy>p:not(.hero-note){max-width:510px;font-size:1.1rem;line-height:1.75}.hero-actions{display:flex;align-items:center;gap:2rem;margin-top:2rem}.text-link{font-weight:700;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:.2rem;font-size:.91rem;white-space:nowrap}.text-link span{margin-left:1rem}.hero-note{font-size:.78rem;color:var(--muted);margin:1.25rem 0 0}.hero-stamp{position:absolute;right:clamp(1.5rem,5vw,5rem);bottom:2rem;width:116px;height:116px;border-radius:50%;background:var(--green);color:var(--paper);display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(10deg);font-size:.65rem;letter-spacing:.11em;line-height:1.7;font-weight:700}.band{background:var(--green);color:var(--paper);display:flex;align-items:center;gap:4rem;padding:2.5rem clamp(1.3rem,8.2vw,9rem)}.band p{font-family:Georgia,serif;font-size:clamp(1.4rem,2.2vw,2.4rem);line-height:1.28;max-width:730px;margin:0}.band em{color:var(--gold)}.band .section-number{color:#d0ad83;white-space:nowrap}.asterisk{margin-left:auto;font-size:3rem;color:var(--gold)}.section{max-width:1490px;margin:auto;padding:clamp(5rem,9vw,9rem) clamp(1.3rem,8.2vw,9rem)}.kicker{color:var(--orange);margin-bottom:1.6rem}.approach{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,8vw,9rem)}h2{font-size:clamp(3rem,4.5vw,5.3rem)}.approach-body{padding-top:3rem;color:var(--muted)}.approach-body p{font-size:1rem;line-height:1.85}.approach-body .large-copy{font-family:Georgia,serif;color:var(--ink);font-size:clamp(1.4rem,1.85vw,1.9rem);line-height:1.5}.rule{height:1px;background:var(--line);margin:2rem 0 1.3rem}.approach-body .micro{color:var(--orange);font-size:.7rem;margin:0}.care-section{background:#eee7d7}.care-inner{padding-top:clamp(5rem,8vw,8rem);padding-bottom:clamp(5rem,8vw,8rem)}.care-header{display:flex;align-items:end;justify-content:space-between;gap:5rem;margin-bottom:3rem}.care-header>p{max-width:330px;color:var(--muted);line-height:1.8}.care-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.care-card{background:var(--paper);min-height:325px;padding:2rem 2rem 1.5rem;display:flex;flex-direction:column;border-top:4px solid var(--orange)}.card-index{color:var(--orange)}.care-card h3{font-family:Georgia,serif;font-size:1.75rem;font-weight:400;letter-spacing:-.035em;margin:3rem 0 .7rem}.care-card p{color:var(--muted);font-size:.97rem;line-height:1.7;margin-bottom:1.8rem}.card-mark{color:var(--orange);font-size:1.4rem;margin-top:auto}.care-foot{margin:2rem 0 0;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.about{display:grid;grid-template-columns:.85fr 1fr;align-items:center;gap:clamp(4rem,9vw,10rem)}.about-emblem{aspect-ratio:1;background:radial-gradient(circle at 51% 46%,#e7a75b 0%,#c96027 40%,#a94517 73%);border-radius:50% 50% 45% 45%;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#fff6e7;box-shadow:25px 28px 0 #e7ddc7;position:relative}.about-emblem:before,.about-emblem:after{content:"";position:absolute;border:1px solid rgba(255,246,231,.45);border-radius:50%;inset:11%}.about-emblem:after{inset:16%}.about-emblem span{font-family:Georgia,serif;font-size:clamp(5rem,11vw,10rem);line-height:1}.about-emblem small{font-size:.65rem;letter-spacing:.21em;font-weight:700;text-align:center}.about-copy p:not(.kicker){color:var(--muted);line-height:1.85}.about-copy .text-link{display:inline-block;margin-top:1rem}.availability{background:var(--green);color:var(--paper)}.availability-inner{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,8vw,9rem)}.kicker-light{color:var(--gold)}.availability h2 em{color:var(--gold)}.availability-details{display:grid;gap:2rem}.availability-details>div{border-top:1px solid rgba(255,255,255,.3);padding-top:1.15rem}.availability-details span{color:var(--gold)}.availability-details p{max-width:550px;line-height:1.75;margin:.75rem 0 0;color:#f0eee6}.contact{text-align:center;max-width:900px}.contact h2{margin-bottom:1.4rem}.contact>p:not(.kicker):not(.privacy-note){max-width:610px;margin:0 auto 1.8rem;color:var(--muted);line-height:1.8}.contact-actions{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap}.outline-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--green);border-radius:3px;padding:.8rem 1.4rem;text-decoration:none;font-weight:700;font-size:.91rem;min-height:3.3rem}.outline-button:hover{background:var(--green);color:white}.privacy-note{font-size:.78rem;color:var(--muted);margin:1rem 0 0}footer{background:#12382f;color:#f8f1e6;padding:3.5rem clamp(1.3rem,8.2vw,9rem) 1.5rem}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding-bottom:3rem}.footer-top p{font-family:Georgia,serif;font-size:1.7rem;font-style:italic;color:var(--gold);margin:0}.footer-brand .brand-icon{color:var(--gold)}.footer-bottom{border-top:1px solid rgba(255,255,255,.25);padding-top:1.3rem;display:flex;gap:2rem;justify-content:space-between;font-size:.75rem;color:#d0dacd;flex-wrap:wrap}.footer-bottom a{text-decoration:none}.footer-bottom a:hover{text-decoration:underline}@media(max-width:1050px){.topbar{gap:1.2rem}.topbar nav{gap:1rem}.topbar nav a{font-size:.78rem}.button-small{display:none}.hero-copy{width:min(680px,70%)}.hero-art{inset:0 0 0 25%}.band{gap:2rem}}@media(max-width:760px){.topbar{height:auto;min-height:96px;padding:1rem 1.3rem;display:block}.brand{margin-bottom:1rem}.topbar nav{margin:0;overflow-x:auto;gap:1.25rem;white-space:nowrap;padding-bottom:.25rem}.topbar nav a{font-size:.82rem}.hero{min-height:auto;display:block;padding-top:330px;background:var(--cream)}.hero-art{inset:0 0 auto 0;height:360px;background-position:86% center}.hero:before{content:"";position:absolute;top:240px;left:0;right:0;height:120px;background:linear-gradient(transparent,var(--cream));pointer-events:none}.hero-copy{width:100%;padding:1.3rem 1.3rem 4rem}.hero h1{font-size:clamp(3.2rem,10.4vw,5rem);margin:1rem 0}.hero-copy>p:not(.hero-note){font-size:1rem}.hero-actions{align-items:stretch;flex-direction:column;gap:1.4rem}.hero-actions .text-link{align-self:flex-start}.hero-stamp{top:235px;right:1.2rem;bottom:auto;width:90px;height:90px;font-size:.53rem}.band{padding:2.4rem 1.3rem;display:block}.band p{margin-top:1.2rem}.asterisk{display:none}.section{padding:5rem 1.3rem}.approach,.availability-inner,.about{grid-template-columns:1fr;gap:2rem}.approach-body{padding-top:0}.care-header{display:block}.care-header>p{max-width:600px}.care-grid{grid-template-columns:1fr}.care-card{min-height:0}.care-card h3{margin:2rem 0 .5rem}.care-foot{line-height:1.8}.about-emblem{max-width:380px;width:80%;margin:0 auto 2rem}.about-emblem span{font-size:7rem}.availability-inner{gap:2rem}.footer-top{display:block}.footer-top p{margin-top:2rem}.footer-bottom{display:block}.footer-bottom>*{display:block;margin:.7rem 0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
:root {
  --orange: #ae4e1d;
  --orange-dark: #873b16;
  --ink: #183a31;
  --muted: #4b5f54;
  --display-font: "Iowan Old Style", "Baskerville", "Palatino Linotype", "Book Antiqua", Georgia, serif;
  --body-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

body { color: var(--ink); font-family: var(--body-font); letter-spacing: .002em; line-height: 1.65; }
.brand strong, h1, h2, .band p, .approach-body .large-copy,
.care-card h3, .about-photo figcaption strong, .footer-top p {
  font-family: var(--display-font);
}
h1, h2 { letter-spacing: -.04em; line-height: 1.09; }
.brand strong { letter-spacing: -.045em; }
.button, .outline-button { font-weight: 650; letter-spacing: .005em; }
.brand small { font-size: .72rem; letter-spacing: .13em; }
.eyebrow, .kicker, .section-number, .micro, .card-index, .availability-details span { font-size: .8rem; letter-spacing: .15em; }
.topbar nav a { font-size: .9rem; }

.topbar nav a { position: relative; }
.topbar nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: -.35rem;
  height: 2px;
  background: var(--orange);
  transition: right .2s ease;
}
.topbar nav a:hover::after,
.topbar nav a:focus-visible::after { right: 0; }

.hero-art::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, var(--cream) 0%, rgba(250,246,236,.9) 13%, rgba(250,246,236,0) 55%);
  pointer-events: none;
}
.hero-copy > p:not(.hero-note) { color: var(--green); }
.hero-note { font-size: .875rem; }
.band { background: var(--green); }
.band .section-number { color: #ead7b8; }
.band em { color: #f4c683; }

.method-list {
  list-style: none;
  padding: 0;
  margin: 2rem 0 1.7rem;
  border-top: 1px solid var(--line);
}
.method-list li {
  display: grid;
  grid-template-columns: 2.6rem 1fr;
  gap: .8rem;
  border-bottom: 1px solid var(--line);
  padding: 1rem 0;
}
.method-number { color: var(--orange); font-size: .83rem; font-weight: 700; }
.method-list strong { display: block; color: var(--green); font-size: 1rem; line-height: 1.3; margin-bottom: .3rem; }
.method-list li div span { display: block; line-height: 1.6; font-size: .93rem; }
.approach-body .micro { color: var(--orange); }

.care-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.care-card { min-height: 300px; }
.care-card:first-child {
  grid-column: 1 / -1;
  min-height: 250px;
}
.care-card:first-child p { max-width: 43rem; }
.care-card .card-index { color: var(--orange-dark); }
.care-card:nth-child(2) { border-color: var(--green); }
.care-card:nth-child(2) .card-index,
.care-card:nth-child(2) .card-mark { color: var(--green); }
.care-card:nth-child(3) { border-color: #cc722d; }
.care-card:nth-child(3) .card-index { color: var(--orange-dark); }
.care-card:nth-child(3) .card-mark { color: var(--orange); }
.care-card:nth-child(4) { border-color: #476f52; }
.care-card:nth-child(4) .card-index,
.care-card:nth-child(4) .card-mark { color: var(--green); }
.care-card:nth-child(5) { border-color: var(--orange); }
.care-card:nth-child(5) .card-index { color: var(--orange-dark); }
.care-card:nth-child(5) .card-mark { color: var(--orange); }
.care-card h3 { margin-top: 2.3rem; font-size: 1.92rem; }
.care-card p { max-width: 29rem; }

.about { grid-template-columns: minmax(0,.9fr) minmax(0,1fr); }
.about-photo {
  margin: 0;
  padding: 1rem 1rem .8rem;
  background: #e8deca;
  border: 1px solid #d7c4a4;
  box-shadow: 1.2rem 1.2rem 0 #e7d9be;
  position: relative;
}
.about-photo::before {
  content: "";
  position: absolute;
  width: 4.25rem;
  height: .35rem;
  background: var(--orange);
  top: -.35rem;
  left: 2.5rem;
}
.about-photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: center;
}
.about-photo figcaption {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: .5rem;
  padding: 1rem .2rem .2rem;
  color: var(--green);
}
.about-photo figcaption strong { font-family: var(--display-font); font-size: 1.12rem; font-weight: 400; }
.about-photo figcaption span { color: var(--orange-dark); font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-align: right; }
.about-copy p:not(.kicker) { color: var(--muted); }
.contact-actions { gap: .65rem; }
.contact-actions .outline-button { border-color: var(--green); color: var(--green); }
.contact-actions .outline-button:hover { background: var(--green); color: white; }
.va-regions { list-style: none; padding: 0; margin: 1.35rem 0 .2rem; }
.va-regions li {
  display: grid;
  grid-template-columns: minmax(9rem, .85fr) minmax(0, 1.15fr);
  gap: 1rem;
  border-left: 2px solid var(--gold);
  padding: .8rem 0 .8rem 1rem;
}
.va-regions li + li { border-top: 1px solid rgba(255,255,255,.16); }
.va-regions li strong { color: #fff5e6; font-size: 1rem; line-height: 1.45; }
.availability-details .va-regions li span {
  color: #f0eee6;
  font-size: 1rem;
  letter-spacing: normal;
  font-weight: 400;
  line-height: 1.5;
}

/* A wide process spread follows the two-column introduction. */
.approach { column-gap: clamp(3rem, 8vw, 9rem); row-gap: 3.5rem; }
.approach > .method-list {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding-top: 1.3rem;
}
.approach > .method-list li {
  display: block;
  border-bottom: 0;
  border-left: 1px solid var(--line);
  padding: 1rem 1.35rem 0;
}
.approach > .method-list li:first-child { border-left: 0; padding-left: 0; }
.approach > .method-list .method-number { display: block; margin-bottom: 1.4rem; }
.approach > .method-list strong { font-family: var(--display-font); font-size: 1.45rem; line-height: 1.2; font-weight: 400; margin-bottom: .8rem; }
.approach > .method-list li div span { font-size: 1rem; line-height: 1.68; color: var(--muted); }

/* Ruled rows give each area of care its own editorial space. */
.care-header { margin-bottom: 3.5rem; }
.care-grid { display: block; }
.care-grid .care-card,
.care-grid .care-card:first-child {
  display: grid;
  grid-template-columns: minmax(5rem, .35fr) minmax(12rem, 1fr) minmax(0, 1.8fr) 2rem;
  align-items: start;
  gap: 1.4rem;
  grid-column: auto;
  min-height: 0;
  padding: 1.9rem 0;
  background: transparent;
}
.care-grid .care-card:nth-child(n) { border: 0; border-top: 1px solid #c9c6b8; }
.care-grid .care-card:last-child { border-bottom: 1px solid #c9c6b8; }
.care-card h3 { margin: 0; font-size: clamp(1.7rem, 2.1vw, 2.35rem); line-height: 1.13; }
.care-card p, .care-card:first-child p { max-width: 42rem; margin: 0; font-size: 1rem; line-height: 1.75; }
.care-card .card-mark { margin: 0; justify-self: end; }

/* Fee and insurance information reads as one panoramic panel. */
.availability-inner { row-gap: clamp(3rem, 5vw, 5rem); }
.payment-strip {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(14rem, .65fr) minmax(0, 1.35fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: center;
  background: var(--paper);
  color: var(--green);
  border-top: 5px solid var(--orange);
  padding: clamp(2rem, 4.5vw, 4rem);
  margin-top: 0;
}
.payment-strip span { display: block; color: var(--orange); font-size: .8rem; font-weight: 700; letter-spacing: .15em; }
.payment-rate strong { display: block; font-family: var(--display-font); font-size: clamp(4.3rem, 7vw, 7.5rem); font-weight: 400; line-height: 1; letter-spacing: -.05em; color: var(--orange); margin: .5rem 0; }
.payment-rate p { margin: 0; font-size: 1rem; }
.payment-info { border-left: 1px solid #d7d0bc; padding-left: clamp(2rem, 5vw, 5rem); }
.payment-info h3 { font-family: var(--display-font); font-size: clamp(2rem, 2.8vw, 3rem); font-weight: 400; letter-spacing: -.03em; line-height: 1.15; margin: 1rem 0; }
.payment-info p { max-width: 44rem; line-height: 1.75; margin: 0; }
.contact .contact-lead a {
  color: var(--green);
  font-weight: 700;
  text-decoration-color: var(--orange);
  text-decoration-thickness: 1px;
  text-underline-offset: .22em;
}

/* Journal invitation and client messaging. */
.journal-feature { background: #eee3d0; }
.journal-feature-inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); gap: clamp(3rem, 8vw, 9rem); align-items: center; }
.journal-feature h2 { margin-bottom: 0; }
.journal-feature-copy { border-top: 2px solid var(--orange); padding-top: 1.5rem; }
.journal-meta, .portal-card > span { display: block; color: var(--orange-dark); font-size: .75rem; letter-spacing: .14em; font-weight: 700; }
.journal-feature-copy h3 { font-family: var(--display-font); font-size: clamp(1.9rem, 2.8vw, 3rem); font-weight: 400; line-height: 1.16; letter-spacing: -.035em; margin: 1.2rem 0 .85rem; }
.journal-feature-copy p { max-width: 34rem; color: var(--muted); line-height: 1.8; margin-bottom: 1.8rem; }
.secure-messaging { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(3rem, 8vw, 9rem); }
.secure-heading h2 { margin-bottom: 0; }
.secure-content > p:first-child { font-size: 1.12rem; line-height: 1.75; max-width: 43rem; }
.portal-card { background: var(--paper); border-top: 4px solid var(--orange); padding: clamp(1.7rem, 3vw, 3rem); margin: 2rem 0 1.4rem; }
.portal-card strong { display: block; font-family: var(--display-font); font-size: clamp(1.8rem, 2.4vw, 2.6rem); font-weight: 400; line-height: 1.2; margin: 1rem 0 .8rem; }
.portal-card p { margin: 0; color: var(--muted); line-height: 1.75; }
.portal-note { font-size: .93rem; line-height: 1.7; color: var(--muted); }
.portal-note a, .privacy-note a { color: var(--green); font-weight: 700; text-decoration-color: var(--orange); text-underline-offset: .25em; }

/* The journal reads like an editorial section of the practice site. */
.journal-hero { padding-bottom: clamp(4rem, 6vw, 6rem); }
.journal-hero h1, .post-header h1 { font-size: clamp(3.5rem, 6vw, 7.2rem); max-width: 15ch; }
.journal-hero > p:last-child { max-width: 45rem; font-size: clamp(1.1rem, 1.4vw, 1.3rem); line-height: 1.75; color: var(--muted); }
.journal-archive { padding-top: clamp(3rem, 5vw, 5rem); border-top: 1px solid var(--line); }
.journal-archive-heading { display: flex; justify-content: space-between; align-items: end; gap: 2rem; margin-bottom: 3rem; }
.journal-archive-heading .kicker { margin: 0 0 .6rem; }
.journal-archive-heading h2 { margin: 0; }
.journal-entry { display: grid; grid-template-columns: 11rem minmax(0, 1fr) 3rem; gap: clamp(1rem, 3vw, 3rem); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 2.5rem 0; }
.journal-entry time { color: var(--orange-dark); font-size: .78rem; letter-spacing: .1em; font-weight: 700; padding-top: .5rem; }
.journal-entry h3 { font-family: var(--display-font); font-size: clamp(1.9rem, 3vw, 3.4rem); line-height: 1.2; font-weight: 400; letter-spacing: -.04em; margin: 0 0 .7rem; }
.journal-entry h3 a { text-decoration: none; }
.journal-entry h3 a:hover { color: var(--orange-dark); }
.journal-entry p { max-width: 44rem; color: var(--muted); line-height: 1.75; margin: 0; }
.entry-arrow { color: var(--orange); font-size: 2rem; text-decoration: none; line-height: 1; }
.journal-close { background: var(--green); color: var(--paper); }
.journal-close .kicker { color: #f4b36a; }
.journal-close h2 { max-width: 20ch; }
.journal-close .button { margin-top: 1rem; }
.post-header { padding-bottom: clamp(4rem, 6vw, 6rem); }
.back-link { color: var(--green); font-weight: 700; text-decoration-color: var(--orange); text-underline-offset: .3em; display: inline-block; margin-bottom: clamp(3.5rem, 7vw, 7rem); }
.post-intro { font-family: var(--display-font); font-size: clamp(1.35rem, 2vw, 2.1rem); line-height: 1.5; max-width: 40rem; }
.post-body { max-width: 1000px; padding-top: clamp(3rem, 5vw, 5rem); border-top: 1px solid var(--line); font-size: 1.12rem; line-height: 1.85; }
.post-body p { margin-bottom: 1.7rem; }
.post-body h2 { font-size: clamp(2rem, 3vw, 3.2rem); margin: 3rem 0 1.5rem; }
.post-body ol { padding-left: 1.7rem; margin: 0 0 2rem; }
.post-body li { padding-left: .4rem; margin: .65rem 0; }
.post-signoff { border-top: 1px solid var(--line); padding-top: 2rem; margin-top: 4rem; display: flex; justify-content: space-between; align-items: center; gap: 2rem; }
.post-signoff > span { color: var(--orange-dark); font-size: .75rem; letter-spacing: .14em; font-weight: 700; }

@media (min-width: 761px) and (max-width: 1080px) {
  .approach > .method-list { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 1.5rem; }
  .approach > .method-list li:nth-child(3) { border-left: 0; padding-left: 0; }
  .care-grid .care-card,
  .care-grid .care-card:first-child { grid-template-columns: 4rem minmax(11rem, .9fr) minmax(0, 1.3fr); }
  .care-card .card-mark { display: none; }
}

@media (max-width: 760px) {
  .topbar nav { flex-wrap: wrap; white-space: normal; overflow: visible; row-gap: .45rem; }
  .topbar nav a { font-size: .88rem; }
  .topbar nav a::after { display: none; }
  .hero-art::after { background: linear-gradient(180deg, rgba(250,246,236,0) 66%, var(--cream) 100%); }
  .hero h1 { font-size: clamp(2.7rem, 9.2vw, 4.6rem); line-height: 1.08; }
  .hero-copy { padding-top: 1.5rem; }
  .hero-actions .button { width: 100%; }
  .hero-note { line-height: 1.5; }
  .care-grid { grid-template-columns: 1fr; }
  .care-card { min-height: 0; }
  .care-card:first-child { grid-column: auto; min-height: 0; }
  .about { gap: 3rem; }
  .about-photo { max-width: 31rem; margin: 0 .8rem 1rem 0; }
  .about-photo figcaption { display: block; }
  .about-photo figcaption span { display: block; text-align: left; margin-top: .3rem; }
  .contact-actions { display: grid; }
  .contact-actions > a { width: 100%; }
  .va-regions li { grid-template-columns: 1fr; gap: .15rem; }
  .approach { row-gap: 2.3rem; }
  .approach > .method-list { display: block; padding-top: 0; }
  .approach > .method-list li,
  .approach > .method-list li:first-child {
    display: grid;
    grid-template-columns: 2.7rem 1fr;
    gap: .7rem;
    border-left: 0;
    border-bottom: 1px solid var(--line);
    padding: 1.15rem 0;
  }
  .approach > .method-list .method-number { margin: .15rem 0 0; }
  .approach > .method-list strong { font-size: 1.35rem; }
  .care-header { margin-bottom: 2rem; }
  .care-grid .care-card,
  .care-grid .care-card:first-child { grid-template-columns: 1fr; gap: .4rem; padding: 1.55rem 0; }
  .care-card h3 { margin: .35rem 0 .2rem; }
  .care-card .card-mark { display: none; }
  .payment-strip { grid-template-columns: 1fr; gap: 1.8rem; padding: 2rem 1.4rem; }
  .payment-info { border-left: 0; border-top: 1px solid #d7d0bc; padding: 1.7rem 0 0; }
  .journal-feature-inner, .secure-messaging { grid-template-columns: 1fr; gap: 2.3rem; }
  .journal-hero h1, .post-header h1 { font-size: clamp(2.7rem, 9.2vw, 4.6rem); }
  .journal-entry { grid-template-columns: 1fr 2rem; gap: .5rem 1rem; }
  .journal-entry time { grid-column: 1 / -1; padding: 0 0 .8rem; }
  .journal-entry h3 { font-size: clamp(1.9rem, 8vw, 2.8rem); }
  .journal-archive-heading { display: block; }
  .post-body { font-size: 1.04rem; }
  .post-signoff { align-items: flex-start; flex-direction: column; gap: 1rem; }
}

/* Final editorial details shared by the practice and journal pages. */
.brand strong { font-weight: 600; }
.topbar nav a[aria-current="page"] { color: var(--orange-dark); }
h1, h2, h3 { text-wrap: balance; font-kerning: normal; }
.hero-copy { width: min(750px, 64%); }
.hero h1 { font-size: clamp(3.2rem, 5vw, 6rem); }
.hero-art::after { background: linear-gradient(90deg, var(--cream) 0%, rgba(250,246,236,.96) 34%, rgba(250,246,236,.72) 54%, rgba(250,246,236,0) 78%); }
.hero-stamp { width: auto; height: auto; min-width: 11rem; border-radius: 0; padding: .8rem 1.15rem; transform: none; font-family: var(--display-font); font-size: 1rem; font-weight: 400; letter-spacing: .03em; line-height: 1.35; text-align: left; }
.care-section .kicker, .journal-feature .kicker { color: var(--orange-dark); }
.band-rule { margin-left: auto; width: min(9vw, 7rem); height: 1px; background: #f4c683; flex: none; }
.care-card .card-mark { display: none; }
.care-card h3 { letter-spacing: -.035em; }
.footer-bottom { font-size: .85rem; gap: 1.15rem 2rem; }
.footer-bottom a { text-decoration: underline; text-decoration-color: rgba(255,255,255,.4); text-underline-offset: .25em; }
.journal-meta, .portal-card > span { font-size: .82rem; }
.portal-note, .privacy-note { font-size: .93rem; }
.portal-card { border-top-width: 3px; }
.journal-archive-heading, .secure-content, .journal-feature-copy { min-width: 0; }

@media (max-width: 1050px) {
  .hero-copy { width: min(690px, 72%); }
  .band-rule { display: none; }
}

@media (max-width: 760px) {
  .hero { display: flex; flex-direction: column; padding-top: 0; }
  .hero::before { display: none; }
  .hero-copy { width: 100%; order: 0; padding: 3.1rem 1.3rem 3.2rem; }
  .hero-art { position: relative; inset: auto; z-index: 0; order: 1; width: 100%; height: clamp(16rem, 72vw, 25rem); background-position: 76% center; }
  .hero-art::after { background: linear-gradient(180deg, var(--cream) 0%, rgba(250,246,236,0) 28%); }
  .hero-stamp { z-index: 1; top: auto; right: 1.3rem; bottom: 1.3rem; min-width: 0; font-size: .86rem; }
  .hero h1 { font-size: clamp(2.65rem, 9vw, 4.4rem); line-height: 1.07; }
  .eyebrow { font-size: .73rem; line-height: 1.5; }
  .eyebrow-line { flex: none; }
  .hero-note { font-size: .875rem; }
  .section-number { white-space: normal; }
  .band { padding-block: 2.8rem; }
  .band p { margin-top: .9rem; }
  .journal-hero h1, .post-header h1 { font-size: clamp(2.65rem, 9vw, 4.4rem); }
}

/* Clear audience and practical details, kept as part of the editorial rhythm. */
.hero-copy > p.hero-audience {
  max-width: 34rem;
  border-left: 2px solid var(--orange);
  padding-left: 1rem;
  margin: 1.45rem 0 0;
  color: var(--green);
  font-size: .97rem;
  font-weight: 650;
  line-height: 1.6;
}
.hero-actions { margin-top: 1.7rem; }
.care-header > p { max-width: 26rem; }
.about-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.35rem 1.8rem;
  list-style: none;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: 1.4rem 0;
  margin: 2rem 0 1rem;
}
.about-facts li { min-width: 0; }
.about-facts span { display: block; color: var(--orange-dark); font-size: .75rem; letter-spacing: .12em; font-weight: 700; margin-bottom: .3rem; }
.about-facts strong { display: block; color: var(--green); font-size: .96rem; font-weight: 600; line-height: 1.4; }
.about-facts-work { grid-column: 1 / -1; border-top: 1px solid var(--line); padding-top: 1.15rem; }
.about-work-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem 1.7rem; list-style: none; padding: 0; margin: .7rem 0 0; }
.about-work-list li { color: var(--green); font-size: .96rem; font-weight: 600; line-height: 1.5; padding-left: .8rem; border-left: 2px solid var(--orange); }
.beginning-section { background: var(--paper); }
.beginning-inner { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(3rem, 8vw, 9rem); }
.beginning-heading h2 { max-width: 12ch; }
.beginning-lead { max-width: 42rem; font-family: var(--display-font); font-size: clamp(1.35rem, 1.85vw, 1.8rem); line-height: 1.5; margin-bottom: 2rem; }
.beginning-list { list-style: none; margin: 0 0 2rem; padding: 0; border-top: 1px solid var(--line); }
.beginning-list li { display: grid; grid-template-columns: 2.4rem minmax(0, 1fr); gap: 1rem; padding: 1.2rem 0; border-bottom: 1px solid var(--line); }
.beginning-list li > span { color: var(--orange-dark); font-size: .82rem; font-weight: 700; padding-top: .18rem; }
.beginning-list strong { display: block; font-family: var(--display-font); color: var(--green); font-size: 1.35rem; font-weight: 400; line-height: 1.25; margin-bottom: .4rem; }
.beginning-list p { color: var(--muted); line-height: 1.7; margin: 0; }

@media (min-width: 761px) and (max-width: 1080px) {
  .about-facts { grid-template-columns: 1fr; }
  .about-work-list { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .hero-copy > p.hero-audience { font-size: .94rem; }
  .about-facts { grid-template-columns: 1fr; }
  .about-work-list { grid-template-columns: 1fr; }
  .beginning-inner { grid-template-columns: 1fr; gap: 1.4rem; }
  .beginning-lead { font-size: 1.35rem; }
}

/* Quiet interactions: one native disclosure, a page return, and subtle motion. */
.va-disclosure summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  list-style: none;
  cursor: pointer;
}
.va-disclosure summary::-webkit-details-marker { display: none; }
.va-disclosure summary::marker { content: ""; }
.va-disclosure summary:hover span:first-child { color: #fff5e6; }
.va-disclosure summary:focus-visible { outline: 3px solid #f4c683; outline-offset: 5px; }
.availability-details .va-disclosure .disclosure-icon {
  color: #f4c683;
  font-size: 1.5rem;
  line-height: 1;
  letter-spacing: 0;
  font-weight: 400;
  transform: rotate(0deg);
  transition: transform .25s ease;
}
.va-disclosure[open] .disclosure-icon { transform: rotate(180deg); }
.va-disclosure-body { padding-top: .1rem; }
.back-to-top {
  position: fixed;
  right: clamp(1rem, 2.5vw, 2.3rem);
  bottom: clamp(1rem, 2.5vw, 2.3rem);
  z-index: 12;
  display: grid;
  place-items: center;
  width: 3rem;
  height: 3rem;
  background: var(--green);
  color: var(--paper);
  border: 1px solid var(--paper);
  text-decoration: none;
  font-size: 1.45rem;
  line-height: 1;
  box-shadow: 0 5px 20px rgba(22,52,43,.2);
  transition: background-color .2s ease, transform .2s ease;
}
.back-to-top[hidden] { display: none !important; }
.back-to-top:hover { background: var(--orange-dark); transform: translateY(-3px); }
.back-to-top:focus-visible { outline: 3px solid var(--orange); outline-offset: 4px; }
.journal-entry .entry-arrow { transition: transform .25s ease, color .25s ease; }
.journal-entry:hover .entry-arrow,
.journal-entry:focus-within .entry-arrow { color: var(--orange-dark); transform: translate(2px, -2px); }
.journal-entry:focus-within h3 a { color: var(--orange-dark); text-decoration: underline; text-underline-offset: .14em; }

@media (prefers-reduced-motion: no-preference) {
  .hero-art { animation: art-enter 1.1s ease-out both; }
  [data-reveal].is-revealed { animation: editorial-enter .65s ease-out both; }
  .method-list li:nth-child(2).is-revealed,
  .beginning-list li:nth-child(2).is-revealed { animation-delay: .06s; }
  .method-list li:nth-child(3).is-revealed,
  .beginning-list li:nth-child(3).is-revealed { animation-delay: .12s; }
  .method-list li:nth-child(4).is-revealed { animation-delay: .18s; }
  .va-disclosure[open] .va-disclosure-body { animation: disclosure-enter .3s ease-out; }
}
@keyframes editorial-enter {
  from { opacity: .78; transform: translateY(.55rem); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes art-enter {
  from { opacity: .85; transform: scale(1.015); }
  to { opacity: 1; transform: scale(1); }
}
@keyframes disclosure-enter {
  from { opacity: .75; transform: translateY(-.25rem); }
  to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .va-disclosure .disclosure-icon,
  .back-to-top,
  .journal-entry .entry-arrow { transition: none; }
  .back-to-top:hover,
  .journal-entry:hover .entry-arrow,
  .journal-entry:focus-within .entry-arrow { transform: none; }
  .button:hover { transform: none; }
}

/* The supplied Orange Glow tree is the practice's primary logo. */
.brand-art {
  display: block;
  width: 3.3rem;
  height: 3.3rem;
  flex: none;
  background: url('/orange-glow-official-logo.jpg') center 20% / 180% auto no-repeat;
  mix-blend-mode: multiply;
}
.topbar .brand strong {
  color: var(--orange-dark);
  font-size: 1.32rem;
  font-weight: 400;
  letter-spacing: .055em;
  text-transform: uppercase;
  line-height: 1;
}
.topbar .brand small {
  color: var(--green);
  font-size: .63rem;
  letter-spacing: .12em;
  margin-top: .45rem;
}
.footer-logo-frame {
  width: min(20rem, 42vw);
  flex: none;
  padding: .35rem;
  background: #fefdf9;
  border: 1px solid rgba(255,255,255,.35);
}
.footer-logo { display: block; width: 100%; height: auto; }
.footer-top > p { text-align: right; }
@media (max-width: 760px) {
  .brand-art { width: 3.1rem; height: 3.1rem; }
  .topbar .brand strong { font-size: 1.18rem; }
  .footer-logo-frame { width: min(18rem, 100%); }
  .footer-top > p { text-align: left; }
}

/* Warm light follows the phoenix across both hero crops. The artwork remains still. */
.hero-art::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 17% 29% at 79% 38%, rgba(255, 216, 125, .44), rgba(239, 133, 38, .13) 66%, transparent 100%),
    radial-gradient(ellipse 28% 23% at 61% 19%, rgba(255, 211, 119, .32), transparent 82%),
    radial-gradient(ellipse 22% 19% at 94% 19%, rgba(255, 199, 115, .3), transparent 84%);
  mix-blend-mode: screen;
  opacity: .78;
  transform-origin: 78% 37%;
}
@media (prefers-reduced-motion: no-preference) {
  .hero-art::before {
    animation: phoenix-glow 5.8s ease-in-out 1.1s infinite alternate;
  }
}
@keyframes phoenix-glow {
  from { opacity: .62; transform: translateY(0) scale(1); filter: brightness(1); }
  to { opacity: 1; transform: translateY(-.35%) scale(1.025); filter: brightness(1.18); }
}

/* Three oranges catch the light in turn, following their positions in the artwork. */
.orange-light {
  position: absolute;
  z-index: 1;
  width: clamp(2.2rem, 5.2vw, 5.3rem);
  aspect-ratio: 1;
  border-radius: 50%;
  pointer-events: none;
  background: radial-gradient(circle, rgba(255, 242, 183, .75) 0%, rgba(255, 182, 76, .44) 36%, rgba(255, 151, 58, .13) 60%, transparent 78%);
  mix-blend-mode: screen;
  opacity: .28;
  transform: translate(-50%, -50%) scale(.94);
}
.orange-light--upper { left: 38%; top: 41%; }
.orange-light--middle { left: 54%; top: 77%; }
.orange-light--lower { left: 38%; top: 89%; }
@media (prefers-reduced-motion: no-preference) {
  .orange-light { animation: orange-shimmer 6.9s ease-in-out infinite; }
  .orange-light--middle { animation-delay: -4.6s; }
  .orange-light--lower { animation-delay: -2.3s; }
}
@keyframes orange-shimmer {
  0%, 32%, 100% { opacity: .17; transform: translate(-50%, -50%) scale(.88); }
  12%, 20% { opacity: .95; transform: translate(-50%, -53%) scale(1.18); }
}

/* An editorial example makes the practical side of the work tangible. */
.hero-copy > p.hero-audience {
  margin: 0 0 1.3rem;
  font-size: 1.05rem;
  line-height: 1.55;
}
.practice-example {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: clamp(2.5rem, 7vw, 7rem);
  align-items: center;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: clamp(2.5rem, 5vw, 5rem) 0;
}
.practice-example .kicker { margin-bottom: 1.15rem; }
.practice-example h3 {
  font-family: var(--display-font);
  font-size: clamp(2.15rem, 3.25vw, 3.65rem);
  font-weight: 400;
  letter-spacing: -.04em;
  line-height: 1.13;
  margin-bottom: 0;
}
.practice-example h3 em { color: var(--orange); font-weight: 400; }
.practice-example-copy {
  border-left: 2px solid var(--orange);
  padding-left: clamp(1.4rem, 3.5vw, 3.5rem);
}
.practice-example-copy p { max-width: 39rem; font-size: 1.06rem; line-height: 1.75; }
.practice-example-copy p:last-child { color: var(--muted); margin-bottom: 0; }
.contact .contact-start { margin: 1.35rem auto .35rem; font-size: 1rem; color: var(--green); font-weight: 600; }
@media (max-width: 760px) {
  .hero-copy > p.hero-audience { font-size: 1rem; margin-bottom: 1.15rem; }
  .practice-example { grid-template-columns: 1fr; gap: 1.6rem; }
  .practice-example-copy { padding-left: 1.2rem; }
  .practice-example-copy p { font-size: 1rem; }
}

/* Practical questions open in place without collecting visitor information. */
.questions-section { background: #efe8da; }
.questions-inner {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: clamp(3rem, 8vw, 9rem);
}
.questions-intro h2 { max-width: 12ch; }
.questions-intro > p:last-child { color: var(--muted); max-width: 24rem; line-height: 1.75; }
.questions-list { border-top: 1px solid #cfc8b8; }
.questions-list details { border-bottom: 1px solid #cfc8b8; }
.questions-list summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  min-height: 4.5rem;
  padding: 1.15rem 0;
  cursor: pointer;
  list-style: none;
  color: var(--green);
  font-family: var(--display-font);
  font-size: clamp(1.2rem, 1.6vw, 1.55rem);
  line-height: 1.25;
}
.questions-list summary::-webkit-details-marker { display: none; }
.questions-list summary::marker { content: ""; }
.questions-list summary:hover { color: var(--orange-dark); }
.questions-list summary:focus-visible { outline: 3px solid var(--orange); outline-offset: 5px; }
.questions-list .question-icon {
  display: grid;
  place-items: center;
  flex: none;
  width: 2.15rem;
  height: 2.15rem;
  border: 1px solid currentColor;
  border-radius: 50%;
  color: var(--orange-dark);
  font: 400 1.35rem/1 var(--body-font);
  transition: transform .25s ease;
}
.questions-list details[open] .question-icon { transform: rotate(45deg); }
.questions-list details > p { max-width: 39rem; color: var(--muted); line-height: 1.8; padding: 0 3rem 1.25rem 0; margin: 0; }
.questions-list details a { color: var(--green); text-decoration-color: var(--orange); text-underline-offset: .22em; font-weight: 600; }
.questions-link { display: inline-block; margin-top: 2rem; }
@media (max-width: 760px) {
  .questions-inner { grid-template-columns: 1fr; gap: 1.75rem; }
  .questions-intro > p:last-child { max-width: 36rem; }
  .questions-list summary { font-size: 1.28rem; }
  .questions-list details > p { padding-right: .25rem; }
}
@media (prefers-reduced-motion: reduce) {
  .questions-list .question-icon { transition: none; }
}

/* The therapist's own voice leads the biography. */
.about-copy p.about-thesis {
  max-width: 34rem;
  border-left: 3px solid var(--orange);
  padding-left: clamp(1rem, 2.5vw, 1.7rem);
  margin: 1.2rem 0 1.75rem;
  color: var(--green);
  font-family: var(--display-font);
  font-size: clamp(1.4rem, 1.8vw, 1.85rem);
  line-height: 1.43;
}

/* The practice's print pieces live in a separate editorial library. */
@media (min-width: 761px) and (max-width: 1190px) {
  .topbar { gap: 1rem; padding-inline: clamp(1.3rem, 3vw, 3rem); }
  .topbar nav { flex-wrap: wrap; justify-content: flex-end; gap: .35rem 1rem; }
  .topbar nav a { font-size: .82rem; }
  .topbar .button-small { display: none; }
}
@media (max-width: 760px) {
  .topbar nav { flex-wrap: nowrap; }
}

.professional-feature { background: #173e33; color: var(--paper); }
.professional-feature-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr);
  align-items: end;
  gap: clamp(2rem, 7vw, 7rem);
}
.professional-feature h2 { font-size: clamp(2.8rem, 4.2vw, 5rem); margin-bottom: 0; }
.professional-feature h2 em { color: #f4c683; }
.professional-feature-inner > div:last-child { max-width: 31rem; }
.professional-feature-inner > div:last-child p { font-size: 1.06rem; line-height: 1.8; color: #f4eee1; margin-bottom: 1.7rem; }
.professional-feature .text-link { color: #f4c683; display: inline-block; white-space: normal; }
.professional-feature .text-link:hover { color: #fff; }

.materials-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  align-items: end;
  gap: clamp(2.5rem, 7vw, 7rem);
  padding-block: clamp(5rem, 8vw, 8rem);
}
.materials-hero h1 { font-size: clamp(3.4rem, 6vw, 6.6rem); margin-bottom: 0; }
.materials-hero-copy { padding-bottom: .4rem; max-width: 32rem; }
.materials-hero-copy p { font-size: 1.06rem; line-height: 1.8; }
.materials-hero-copy p:last-child { color: var(--muted); margin-bottom: 0; }
.materials-hero-copy a, .materials-heading a { color: var(--green); text-decoration-color: var(--orange); text-underline-offset: .2em; }
.materials-index {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding-inline: clamp(1.3rem, 8.2vw, 9rem);
}
.materials-index a {
  display: flex;
  align-items: baseline;
  gap: .8rem;
  min-height: 5rem;
  padding: 1.3rem 1rem;
  border-left: 1px solid var(--line);
  color: var(--green);
  text-decoration: none;
  font-weight: 650;
  line-height: 1.4;
}
.materials-index a:last-child { border-right: 1px solid var(--line); }
.materials-index a:hover, .materials-index a:focus-visible { color: var(--orange-dark); background: var(--paper); }
.materials-index a span { color: var(--orange-dark); font-size: .8rem; letter-spacing: .1em; }
.materials-section { scroll-margin-top: 1rem; }
.materials-section--tinted { background: #eee7d7; }
.materials-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: end;
  margin-bottom: 2.7rem;
}
.materials-heading h2 { font-size: clamp(2.7rem, 4.2vw, 4.9rem); margin: 0; }
.materials-heading > p { max-width: 34rem; color: var(--muted); font-size: 1.04rem; line-height: 1.8; margin: 0 0 .2rem; }
.materials-subheading {
  border-top: 1px solid var(--line);
  margin: clamp(3rem, 5vw, 5rem) 0 1.6rem;
  padding-top: 1.6rem;
}
.materials-subheading .kicker { margin-bottom: .7rem; }
.materials-subheading h3 {
  font-family: var(--display-font);
  font-size: clamp(1.65rem, 2.4vw, 2.5rem);
  font-weight: 400;
  letter-spacing: -.025em;
  color: var(--green);
  line-height: 1.3;
  margin: 0;
}
.materials-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1rem, 2.5vw, 2rem); }
.materials-card { min-width: 0; margin: 0; background: var(--paper); border: 1px solid #d9d1be; }
.materials-card--wide { grid-column: 1 / -1; }
.materials-card--feature { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: center; }
.materials-card--feature .materials-image-link img { height: clamp(22rem, 44vw, 37rem); }
.materials-card--feature figcaption { padding: clamp(2rem, 5vw, 5rem); }
.materials-image-link {
  display: block;
  position: relative;
  background: #e8dfca;
  padding: .7rem;
  text-decoration: none;
}
.materials-image-link img {
  display: block;
  width: 100%;
  height: clamp(17rem, 31vw, 28rem);
  object-fit: contain;
  background: #e8dfca;
}
.materials-card--wide .materials-image-link img { height: auto; max-height: 44rem; }
.materials-image-link > span {
  position: absolute;
  right: 1.2rem;
  bottom: 1.2rem;
  background: var(--green);
  color: white;
  padding: .55rem .8rem;
  font-size: .87rem;
  font-weight: 650;
}
.materials-image-link:hover > span, .materials-image-link:focus-visible > span { background: var(--orange-dark); }
.materials-card figcaption { padding: clamp(1.2rem, 2.5vw, 2.1rem); }
.materials-card .card-index { color: var(--orange-dark); margin-bottom: .8rem; }
.materials-card h3 {
  font-family: var(--display-font);
  color: var(--green);
  font-weight: 400;
  font-size: clamp(1.5rem, 2.1vw, 2.2rem);
  letter-spacing: -.025em;
  line-height: 1.2;
  margin-bottom: .6rem;
}
.materials-card figcaption p:last-child { color: var(--muted); line-height: 1.7; margin: 0; }
.eap-referral {
  background: var(--paper);
  border-top: 4px solid var(--orange);
  margin-top: clamp(3rem, 6vw, 5rem);
  padding: clamp(2rem, 4vw, 4rem);
}
.eap-referral-heading { display: grid; grid-template-columns: 1fr 1fr; gap: .3rem clamp(2rem, 6vw, 6rem); align-items: end; }
.eap-referral-heading .kicker { grid-column: 1 / -1; margin-bottom: 1rem; }
.eap-referral-heading h3 { color: var(--green); font-family: var(--display-font); font-weight: 400; font-size: clamp(2.2rem, 3.4vw, 3.7rem); line-height: 1.14; letter-spacing: -.04em; margin: 0; }
.eap-referral-heading h3 em { color: var(--orange); }
.eap-referral-heading > p:last-child { margin: 0; max-width: 32rem; color: var(--muted); line-height: 1.8; }
.eap-referral-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.2rem, 2.5vw, 2.5rem); border-top: 1px solid var(--line); margin-top: 2.6rem; padding-top: 1.8rem; }
.eap-referral-grid > div + div { border-left: 1px solid var(--line); padding-left: clamp(1.2rem, 2.5vw, 2.5rem); }
.eap-referral-grid span { color: var(--orange-dark); font-size: .79rem; font-weight: 750; letter-spacing: .1em; }
.eap-referral-grid p { color: var(--green); line-height: 1.75; margin: .85rem 0 0; }
.eap-referral-footer { display: flex; justify-content: space-between; gap: 2rem; align-items: end; border-top: 1px solid var(--line); margin-top: 2.5rem; padding-top: 1.5rem; }
.eap-referral-footer p { max-width: 38rem; color: var(--muted); margin: 0; font-size: .93rem; line-height: 1.7; }
.eap-referral-footer > div { display: grid; gap: .45rem; flex: none; }
.eap-referral-footer a { color: var(--green); text-decoration-color: var(--orange); text-underline-offset: .2em; font-weight: 650; }
.materials-contact { text-align: center; max-width: 59rem; scroll-margin-top: 1rem; }
.materials-contact h2 { margin-bottom: 1.3rem; }
.materials-contact > p:not(.kicker) { max-width: 43rem; margin: 0 auto 2rem; color: var(--muted); line-height: 1.8; }

@media (max-width: 760px) {
  .professional-feature-inner, .materials-hero, .materials-heading { grid-template-columns: 1fr; gap: 1.5rem; }
  .professional-feature h2 { font-size: clamp(2.8rem, 9vw, 4.2rem); }
  .materials-index { grid-template-columns: repeat(2, minmax(0, 1fr)); padding-inline: 1.3rem; }
  .materials-index a { min-height: 4.3rem; padding: 1rem .7rem; font-size: .95rem; }
  .materials-index a:nth-child(2) { border-right: 1px solid var(--line); }
  .materials-index a:nth-child(n+3) { border-top: 1px solid var(--line); }
  .materials-grid { grid-template-columns: 1fr; }
  .materials-card--wide { grid-column: auto; }
  .materials-card--feature { grid-column: auto; grid-template-columns: 1fr; }
  .materials-card--feature .materials-image-link img { height: auto; max-height: 42rem; }
  .materials-card--feature figcaption { padding: 1.2rem; }
  .materials-image-link img { height: auto; max-height: 42rem; }
  .materials-card--wide .materials-image-link img { max-height: 42rem; }
  .eap-referral-heading, .eap-referral-grid { grid-template-columns: 1fr; }
  .eap-referral-grid > div + div { border-left: 0; border-top: 1px solid var(--line); padding-left: 0; padding-top: 1.2rem; }
  .eap-referral-footer { display: block; }
  .eap-referral-footer > div { margin-top: 1.2rem; }
}
@media (max-width: 420px) {
  .materials-index { grid-template-columns: 1fr; }
  .materials-index a { border-right: 1px solid var(--line); }
  .materials-index a + a { border-top: 1px solid var(--line); }
}

/* Functional refinements: booking, clear reading summaries, and the journal editor. */
.hero-booking { max-width: 39rem; margin: 1rem 0 0; display: grid; gap: .18rem; font-size: .92rem; line-height: 1.5; }
.hero-booking a { color: var(--green); font-weight: 750; text-underline-offset: .18em; }
.hero-booking span { color: var(--muted); }
.about-links { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; align-items: center; }
.about-links .text-link { white-space: normal; max-width: 100%; line-height: 1.4; }
.about-copy .about-links .text-link { margin-top: .7rem; }
.beginning-after { margin: 1.65rem 0 0; color: var(--muted); line-height: 1.75; max-width: 43rem; }
.payment-info a { color: inherit; font-weight: 700; text-underline-offset: .18em; }
.portal-card .outline-button { margin-top: 1rem; background: var(--paper); width: fit-content; }
.materials-brief { display: grid; grid-template-columns: minmax(0, .65fr) minmax(0, 1.35fr); gap: clamp(2rem, 6vw, 6rem); border-block: 1px solid var(--line); }
.materials-brief-intro > p:last-child { color: var(--muted); line-height: 1.8; max-width: 32rem; }
.materials-brief-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 0 2rem; }
.materials-brief-grid article { padding: 1.4rem 0 1.8rem; border-top: 1px solid var(--line); }
.materials-brief-grid article span { color: var(--orange-dark); font-size: .78rem; letter-spacing: .11em; font-weight: 700; }
.materials-brief-grid article h3 { font-family: var(--display-font); font-size: clamp(1.45rem, 2vw, 2.2rem); font-weight: 400; letter-spacing: -.035em; line-height: 1.2; margin: .7rem 0 .6rem; }
.materials-brief-grid article p { margin: 0; color: var(--muted); line-height: 1.75; }
.journal-editor { max-width: 65rem; }
.journal-editor h1 { max-width: 15ch; }
.editor-intro { max-width: 45rem; color: var(--muted); font-size: 1.08rem; line-height: 1.7; }
.editor-list { display: grid; gap: .6rem; margin: 2rem 0 3rem; }
.editor-list a { padding: .9rem 1rem; border: 1px solid var(--line); text-decoration: none; display: flex; gap: 1rem; justify-content: space-between; align-items: center; }
.editor-list a:hover { border-color: var(--orange); }
.editor-list span { color: var(--orange-dark); font-size: .82rem; }
.editor-form { display: grid; gap: 1.3rem; padding: clamp(1.3rem, 4vw, 3rem); background: var(--paper); border: 1px solid var(--line); }
.editor-form label { display: grid; gap: .4rem; font-size: .95rem; font-weight: 700; color: var(--green); }
.editor-form input, .editor-form textarea { width: 100%; border: 1px solid #9b9f93; border-radius: 2px; padding: .8rem .9rem; color: var(--ink); background: #fff; font: inherit; font-weight: 400; }
.editor-form input:focus-visible, .editor-form textarea:focus-visible { outline: 3px solid var(--orange); outline-offset: 2px; }
.editor-form textarea { min-height: 18rem; resize: vertical; line-height: 1.65; }
.editor-form small { color: var(--muted); font-weight: 400; }
.editor-form-row { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1rem; }
.editor-actions { display: flex; flex-wrap: wrap; gap: .7rem; }
.editor-actions button { cursor: pointer; }
.editor-message { min-height: 1.5rem; color: var(--green); font-weight: 700; }
.editor-preview { margin-top: 2rem; border-top: 1px solid var(--line); padding-top: 1.5rem; }
.editor-preview h3 { font-family: var(--display-font); font-size: 2rem; font-weight: 400; }
.editor-preview p { white-space: pre-wrap; line-height: 1.7; }
.editor-preview-body h2 { font-size: clamp(1.5rem, 2.8vw, 2rem); margin: 1.7rem 0 .8rem; }
.editor-preview-body ul { padding-left: 1.5rem; margin: 0 0 1.5rem; }
.editor-preview-body li { padding-left: .2rem; margin: .45rem 0; }
.editor-link { margin-top: 2rem; display: inline-block; }
@media (max-width:760px) { .materials-brief { grid-template-columns:1fr; gap: 1rem; } .materials-brief-grid { grid-template-columns:1fr; } .about-links { display:grid; justify-items:start; gap:.5rem; } .editor-form-row { grid-template-columns:1fr; } .editor-actions button { width:100%; } .hero-booking { font-size:.94rem; } }

/* The Orange Glow Lens: one practice sequence, several real-life entry points. */
.orange-lens {
  grid-column: 1 / -1;
  background: var(--green);
  color: var(--paper);
  margin-top: clamp(1rem, 3vw, 3rem);
  padding: clamp(1.5rem, 4.5vw, 4rem);
  border-top: 5px solid var(--orange);
  box-shadow: 18px 18px 0 #e8ddc8;
}
.lens-intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .75fr); gap: clamp(1.5rem, 5vw, 5rem); align-items: end; }
.orange-lens .kicker { color: #f5bd79; margin-bottom: 1.1rem; }
.orange-lens h3 { font: 400 clamp(2.6rem, 4.5vw, 5rem)/1.07 var(--display-font); letter-spacing: -.05em; margin: 0; }
.orange-lens h3 em { color: #f6ad61; font-weight: 400; }
.lens-intro > p { max-width: 32rem; color: #f4eee3; font-size: clamp(1.02rem, 1.25vw, 1.17rem); line-height: 1.7; margin: 0 0 .25rem; }
.lens-choices { display: flex; flex-wrap: wrap; gap: .55rem; margin: clamp(2rem, 4vw, 3.5rem) 0 1rem; }
.lens-choices button { appearance: none; border: 1px solid rgba(255,247,232,.5); border-radius: 2px; background: transparent; color: #fff9ed; padding: .8rem 1rem; min-height: 3.1rem; font: 700 .93rem/1.25 Arial,Helvetica,sans-serif; cursor: pointer; transition: background .2s ease, color .2s ease, border-color .2s ease; }
.lens-choices button:hover { border-color: #f6ad61; }
.lens-choices button[aria-pressed="true"] { border-color: #f6ad61; background: #f6ad61; color: #193c32; }
.lens-choices button:focus-visible { outline: 3px solid #ffd88f; outline-offset: 3px; }
.lens-panel { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); background: var(--paper); color: var(--ink); }
.lens-panel[hidden] { display: none; }
.lens-panel > div { min-width: 0; padding: clamp(1.3rem, 2vw, 2rem); border-right: 1px solid var(--line); }
.lens-panel > div:last-child { border-right: 0; }
.lens-panel .lens-moment { background: #f8e9d6; }
.lens-panel span { display: block; min-height: 2.2em; color: var(--orange-dark); font-size: .78rem; line-height: 1.4; font-weight: 750; letter-spacing: .12em; }
.lens-panel p { font-size: 1rem; line-height: 1.7; margin: 1.1rem 0 0; }
.lens-footer { display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; border-top: 1px solid rgba(255,255,255,.27); margin-top: 1.5rem; padding-top: 1.4rem; }
.lens-footer p { color: #efe8db; max-width: 41rem; font-size: .91rem; line-height: 1.6; margin: 0; }
.lens-footer a { color: #f8c187; font-size: .94rem; font-weight: 700; text-underline-offset: .25em; }
@media (prefers-reduced-motion: no-preference) { .lens-panel:not([hidden]) { animation: lens-arrive .32s ease-out both; } @keyframes lens-arrive { from { opacity: .4; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } } }
@media (max-width: 1120px) { .lens-panel { grid-template-columns: repeat(2,minmax(0,1fr)); } .lens-panel > div:nth-child(2) { border-right: 0; } .lens-panel > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); } }
@media (max-width: 760px) { .orange-lens { padding: 1.5rem; box-shadow: 9px 9px 0 #e8ddc8; } .lens-intro { grid-template-columns: 1fr; gap: 1rem; } .orange-lens h3 { font-size: clamp(2.45rem, 9vw, 3.7rem); } .lens-choices { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); } .lens-choices button { width: 100%; padding: .75rem .6rem; font-size: .9rem; } .lens-panel { grid-template-columns: 1fr; } .lens-panel > div, .lens-panel > div:nth-child(2) { border-right: 0; border-bottom: 1px solid var(--line); padding: 1.3rem; } .lens-panel > div:last-child { border-bottom: 0; } .lens-panel span { min-height: 0; } .lens-panel p { margin-top: .55rem; } .lens-footer { display: block; } .lens-footer a { display: inline-block; margin-top: 1rem; } }
@media (max-width: 360px) { .lens-choices { grid-template-columns: 1fr; } }

/* Insurance has its own editorial spread after the concise fee panel. */
.payment-rate .sliding-fee { margin-top: 1.4rem; max-width: 17rem; color: var(--muted); font-size: .96rem; line-height: 1.5; }
.payment-info .payment-method-note { margin-top: 1rem; font-size: .93rem; color: var(--muted); }
.insurance-section { background: #f1e8d8; }
.insurance-section .section { padding-top: clamp(5rem, 8vw, 8rem); padding-bottom: clamp(5rem, 8vw, 8rem); }
.insurance-heading { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .75fr); align-items: end; gap: clamp(2rem, 7vw, 7rem); padding-bottom: clamp(2.5rem, 5vw, 5rem); }
.insurance-heading h2 { margin: 0; }
.insurance-heading > p { color: var(--muted); line-height: 1.8; font-size: 1.06rem; max-width: 35rem; margin: 0 0 .4rem; }
.insurance-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid #c7c9b9; }
.insurance-group { min-width: 0; padding: clamp(2rem, 3.5vw, 3.4rem) clamp(1.5rem, 4vw, 4rem) clamp(2.5rem, 4vw, 4rem) 0; border-bottom: 1px solid #c7c9b9; }
.insurance-group:nth-child(even) { border-left: 1px solid #c7c9b9; padding-left: clamp(1.5rem, 4vw, 4rem); padding-right: 0; }
.insurance-index, .insurance-check span { display: block; color: var(--orange-dark); font-size: .8rem; font-weight: 750; letter-spacing: .13em; line-height: 1.45; }
.insurance-group h3 { font-family: var(--display-font); font-size: clamp(1.8rem, 2.3vw, 2.55rem); letter-spacing: -.035em; line-height: 1.14; font-weight: 400; margin: .8rem 0 1rem; }
.insurance-group p { color: var(--muted); line-height: 1.85; font-size: 1rem; margin: 0; max-width: 35rem; }
.insurance-check { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(13rem, .75fr); gap: clamp(2rem, 5vw, 5rem); align-items: end; background: var(--green); color: var(--paper); margin-top: clamp(3rem, 5vw, 5rem); padding: clamp(2rem, 4.5vw, 4.5rem); }
.insurance-check span { color: #f4be7a; }
.insurance-check h3 { font-family: var(--display-font); font-size: clamp(2rem, 3vw, 3.6rem); font-weight: 400; line-height: 1.12; letter-spacing: -.03em; margin: 1rem 0; }
.insurance-check h3 em { color: #f4be7a; font-weight: 400; }
.insurance-check p { color: #f1ece1; line-height: 1.8; max-width: 47rem; margin: 0; }
.insurance-actions { display: flex; flex-direction: column; align-items: start; gap: 1.25rem; }
.insurance-actions .text-link { color: #f9d198; white-space: normal; }
.insurance-check a:focus-visible { outline-color: #ffd998; }
@media (max-width: 980px) { .insurance-heading, .insurance-check { grid-template-columns: 1fr; gap: 1.6rem; } .insurance-actions { align-items: start; } }
@media (max-width: 760px) { .insurance-grid { grid-template-columns: 1fr; } .insurance-group, .insurance-group:nth-child(even) { border-left: 0; padding: 2rem 0; } .insurance-heading { padding-bottom: 2.5rem; } .insurance-heading > p { font-size: 1rem; } .insurance-check { padding: 2rem 1.4rem; margin-top: 3rem; } .insurance-check .button { max-width: 100%; } }

/* A quiet closing invitation for clinicians and professional collaborators. */
.careers-section { background: #eee6d6; border-top: 1px solid var(--line); }
.careers-inner { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(3rem, 9vw, 9rem); }
.careers-inner h2 { font-size: clamp(4rem, 7vw, 7.6rem); margin: 0 0 1.25rem; }
.careers-lead { font-family: var(--display-font); font-size: clamp(1.4rem, 2vw, 2rem); line-height: 1.45; max-width: 19rem; }
.careers-copy { border-top: 2px solid var(--orange); padding-top: clamp(1.6rem, 3vw, 3rem); }
.careers-copy p { color: var(--muted); font-size: 1.06rem; line-height: 1.8; max-width: 43rem; margin-bottom: 1.2rem; }
.careers-links { display: flex; flex-wrap: wrap; gap: 1.25rem 2rem; align-items: center; margin-top: 2rem; }
.careers-links .text-link { white-space: normal; }
@media (max-width: 760px) { .careers-inner { grid-template-columns: 1fr; gap: 1.5rem; } .careers-lead { max-width: 26rem; } .careers-links { align-items: start; flex-direction: column; } .careers-links .button { max-width: 100%; } }

/* Branded editorial imagery leaves the text and calls to action fully readable. */
.approach-visual, .care-visual, .journal-visual, .availability-visual { margin: 0; overflow: hidden; }
.approach-visual img, .care-visual img, .journal-visual img, .availability-visual img { display: block; width: 100%; height: 100%; object-fit: cover; }
.approach-visual { grid-column: 1 / -1; height: clamp(16rem, 31vw, 27rem); background: #e8d9bf; border: 1px solid #e2d7c3; }
.approach-visual img { object-position: 50% 52%; }
.inspirational-journal { position: relative; }
.journal-invitation { position: absolute; left: 5%; bottom: 7%; max-width: 32rem; padding: clamp(1rem, 2.5vw, 2rem); background: rgba(255,250,241,.97); color: #203b30; border-left: 3px solid var(--orange); }
.journal-invitation p { margin: 0 0 .6rem; font-family: var(--display-font); font-size: clamp(1.5rem, 3vw, 2.7rem); line-height: 1.15; letter-spacing: -.025em; }
.journal-invitation > span { display: block; font-size: 1rem; line-height: 1.5; }
.journal-invitation a { display: inline-block; margin-top: .8rem; font-size: 1rem; font-weight: 700; color: #863a17; text-underline-offset: .2em; }
.journal-invitation a:focus-visible { outline: 2px solid #203b30; outline-offset: 5px; }
@media (max-width: 760px) { .journal-invitation { left: 4%; right: 4%; bottom: 6%; } }
.care-visual { height: clamp(14rem, 28vw, 22rem); margin: 0 0 2.5rem; background: #efe5d0; border-bottom: 3px solid var(--orange); }
.care-visual img { object-position: 50% 47%; }
.journal-feature-intro { min-width: 0; }
.journal-visual { margin-top: clamp(2rem, 4vw, 3.5rem); aspect-ratio: 3 / 2; background: #e8dcc7; border: 1px solid #d9cbb2; }
.journal-visual img { object-position: 50% 50%; }
.availability-visual { grid-column: 1 / -1; height: clamp(16rem, 32vw, 27rem); border: 1px solid rgba(255,250,241,.35); background: #334838; }
.availability-visual img { object-position: 50% 53%; }
@media (max-width: 760px) {
  .approach-visual { height: clamp(15rem, 66vw, 22rem); }
  .care-visual { height: clamp(13rem, 52vw, 19rem); margin-bottom: 1.5rem; }
  .care-visual img { object-position: 29% 50%; }
  .journal-visual { margin-top: 2rem; }
  .availability-visual { height: clamp(13rem, 54vw, 19rem); }
}

/* A consistent, closer reading rhythm across the practice's editorial spreads. */
.section { padding-block: clamp(4.4rem, 6.75vw, 7.1rem); }
.care-inner, .insurance-section .section { padding-block: clamp(4.4rem, 6.75vw, 7.1rem); }
.kicker { margin-bottom: 1.25rem; }
.hero-copy { padding-block: 4.8rem; }
.band { padding-block: 2.1rem; }
.approach { column-gap: clamp(2.7rem, 6vw, 7rem); row-gap: clamp(2.2rem, 3.3vw, 2.8rem); }
.approach-body { padding-top: 2rem; }
.approach-visual { height: clamp(15rem, 27vw, 24rem); }
.approach > .method-list { padding-top: .75rem; }
.orange-lens { margin-top: 1.2rem; }
.care-header { margin-bottom: 2.1rem; }
.care-visual { height: clamp(14rem, 25vw, 20rem); margin-bottom: 1.5rem; }
.care-grid .care-card, .care-grid .care-card:first-child { padding-block: 1.55rem; }
.care-foot { margin-top: 1.6rem; }
.about { align-items: start; gap: clamp(3rem, 6vw, 7rem); }
.about-photo { margin-top: clamp(2rem, 3.1vw, 3rem); }
.journal-feature-inner { gap: clamp(2.5rem, 6vw, 7rem); }
.journal-visual { margin-top: clamp(1.8rem, 3vw, 2.8rem); }
.availability-inner { column-gap: clamp(3rem, 7vw, 8rem); row-gap: clamp(2.3rem, 3.5vw, 3.7rem); }
.availability-visual { height: clamp(16rem, 27vw, 23rem); }
.insurance-heading { padding-bottom: clamp(2.1rem, 4vw, 3.8rem); }
.insurance-group { padding-block: clamp(1.8rem, 2.7vw, 2.8rem); }
.insurance-check { margin-top: clamp(2.4rem, 4vw, 4rem); }
.beginning-inner, .questions-inner, .secure-messaging, .careers-inner { gap: clamp(2.5rem, 6.5vw, 7rem); }
.beginning-list li { padding-block: 1rem; }
.contact > p:not(.kicker):not(.privacy-note) { margin-bottom: 1.5rem; }

@media (max-width: 760px) {
  .section, .care-inner, .insurance-section .section { padding-block: 4rem; }
  .hero-copy { padding: 2.6rem 1.3rem 2.8rem; }
  .band { padding-block: 2.1rem; }
  .approach, .availability-inner { gap: 1.8rem; }
  .approach-body { padding-top: 0; }
  .approach-visual { height: clamp(14rem, 60vw, 20rem); }
  .approach > .method-list { padding-top: 0; }
  .orange-lens { margin-top: .5rem; }
  .care-header { margin-bottom: 1.5rem; }
  .care-visual { height: clamp(12rem, 48vw, 17rem); margin-bottom: 1.1rem; }
  .care-grid .care-card, .care-grid .care-card:first-child { padding-block: 1.35rem; }
  .about { gap: 2.1rem; }
  .about-photo { margin-top: 0; }
  .journal-feature-inner, .secure-messaging, .beginning-inner, .questions-inner, .careers-inner { gap: 1.7rem; }
  .journal-visual { margin-top: 1.6rem; }
  .availability-visual { height: clamp(12rem, 50vw, 17rem); }
  .insurance-group, .insurance-group:nth-child(even) { padding-block: 1.7rem; }
}

/* Desktop spreads pair short columns with the image or details beside them. */
@media (min-width: 761px) {
  .section, .care-inner, .insurance-section .section { padding-block: clamp(4.2rem, 5.3vw, 5.2rem); }
  .hero-copy { padding-block: 4.1rem; }
  .about { row-gap: clamp(2rem, 3.5vw, 3rem); }
  .about-facts, .about > .about-links { grid-column: 1 / -1; }
  .about-facts { grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; }
  .about-work-list { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .about > .about-links { justify-content: space-between; gap: 1.2rem 2rem; }
  .approach .section-heading .approach-visual { margin-top: clamp(1.8rem, 3vw, 2.8rem); }
  .availability-intro { min-width: 0; }
  .availability-visual { height: clamp(19rem, 31vw, 26rem); margin-top: clamp(1.5rem, 2.5vw, 2.25rem); }
  .beginning-inner { row-gap: clamp(2rem, 3.5vw, 3rem); }
  .beginning-lead { margin-bottom: 1.35rem; }
  .beginning-inner > .beginning-list { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.2rem, 2.5vw, 2.5rem); margin: 0; }
  .beginning-inner > .beginning-list li { display: block; padding: 1.25rem 0; }
  .beginning-inner > .beginning-list li > span { display: block; margin-bottom: .85rem; }
  .beginning-inner > .beginning-after { grid-column: 1 / -1; margin: 0; max-width: 58rem; }
}
@media (min-width: 1101px) {
  .approach > .method-list { border-top: 1px solid var(--line); padding-top: 1rem; }
}
@media (min-width: 761px) and (max-width: 1100px) {
  .about-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .about-work-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .about-facts, .about > .about-links { grid-column: 1 / -1; }
  .about-facts { margin: 0; }
  .about > .about-links { display: grid; justify-items: start; gap: .7rem; }
  .approach .section-heading .approach-visual { margin-top: 1.5rem; }
  .availability-visual { margin-top: 1.3rem; }
}

/* A short, scannable route into the practice's existing areas of care. */
.entry-guide-wrap { background: var(--paper); border-bottom: 1px solid var(--line); }
.section.entry-guide { padding-block: clamp(2.6rem, 4.4vw, 4.2rem); }
.entry-guide-heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .8fr); align-items: end; gap: clamp(2rem, 5vw, 5rem); margin-bottom: 2rem; }
.entry-guide-heading .kicker { margin-bottom: .65rem; }
.entry-guide-heading h2 { font-size: clamp(2.5rem, 3.5vw, 4rem); margin: 0; }
.entry-guide-heading > p { color: var(--muted); max-width: 30rem; margin: 0 0 .2rem auto; font-size: 1.03rem; line-height: 1.7; }
.entry-guide-links { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-block: 1px solid var(--line); }
.entry-guide-links a { display: flex; flex-direction: column; position: relative; min-width: 0; min-height: 11.5rem; padding: 1.1rem 1.55rem 1.45rem 0; color: var(--ink); text-decoration: none; }
.entry-guide-links a + a { border-left: 1px solid var(--line); padding-left: 1.1rem; }
.guide-index { color: var(--orange-dark); font-size: .73rem; font-weight: 700; letter-spacing: .12em; }
.entry-guide-links strong { display: block; margin: 1rem 0 .4rem; font-family: var(--display-font); font-size: clamp(1.3rem, 1.75vw, 1.65rem); font-weight: 400; letter-spacing: -.025em; line-height: 1.2; }
.guide-description { display: block; max-width: 17rem; color: var(--muted); font-size: .93rem; line-height: 1.55; }
.guide-arrow { position: absolute; top: .9rem; right: .45rem; color: var(--orange-dark); font-size: 1.2rem; line-height: 1; }
.entry-guide-links a:hover strong, .entry-guide-links a:focus-visible strong { color: var(--orange-dark); }
@media (prefers-reduced-motion: no-preference) {
  .entry-guide-links a .guide-arrow { transition: transform .2s ease; }
  .entry-guide-links a:hover .guide-arrow, .entry-guide-links a:focus-visible .guide-arrow { transform: translate(2px, -2px); }
}
@media (min-width: 761px) and (max-width: 1100px) {
  .entry-guide-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .entry-guide-links a:nth-child(odd) { border-left: 0; padding-left: 0; }
  .entry-guide-links a:nth-child(n+3) { border-top: 1px solid var(--line); }
}
@media (max-width: 760px) {
  .section.entry-guide { padding-block: 2.5rem; }
  .entry-guide-heading { grid-template-columns: 1fr; gap: .7rem; margin-bottom: 1.5rem; }
  .entry-guide-heading h2 { font-size: clamp(2.45rem, 9vw, 3.5rem); }
  .entry-guide-heading > p { margin: 0; }
  .entry-guide-links { grid-template-columns: 1fr; }
  .entry-guide-links a { min-height: 0; padding: 1rem 2rem 1.15rem 0; }
  .entry-guide-links a + a { border-left: 0; border-top: 1px solid var(--line); padding-left: 0; }
  .entry-guide-links strong { margin: .6rem 0 .25rem; font-size: 1.4rem; }
}

/* A curated front page, with the full details on dedicated reading pages. */
.about--teaser { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); align-items: center; }
.about--teaser .about-photo { width: min(100%, 29rem); margin: 0; }
.about--teaser .about-photo img { aspect-ratio: 1 / 1; object-position: center 35%; }
.about--teaser .about-copy .text-link { margin-top: 1.4rem; white-space: normal; }
.availability--preview .availability-visual { height: clamp(16rem, 25vw, 20rem); }
.availability--preview .availability-details { align-content: center; gap: 1.4rem; }
.availability--preview .availability-details > div { padding-top: 1rem; }
.availability--preview .availability-more { width: fit-content; color: var(--paper); white-space: normal; margin-top: .45rem; }
.availability--preview .availability-more:focus-visible { outline-color: var(--gold); }
.availability h1 em { color: var(--gold); }
.detail-close { border-top: 1px solid var(--line); }
.detail-close h2 { max-width: 15ch; }
.detail-close > p:not(.kicker) { color: var(--muted); max-width: 40rem; line-height: 1.75; }
.detail-close-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1.5rem 2rem; margin-top: 2rem; }
.detail-close-actions .text-link { white-space: normal; }
.careers-inner h1 { font-size: clamp(4rem, 7vw, 7.6rem); margin: 0 0 1.25rem; }
@media (max-width: 760px) {
  .about--teaser { grid-template-columns: 1fr; }
  .about--teaser .about-photo { width: min(100%, 29rem); }
  .availability--preview .availability-visual { height: clamp(12rem, 50vw, 17rem); }
  .detail-close-actions { align-items: start; flex-direction: column; }
  .detail-close-actions .button { max-width: 100%; }
}

/* Keep local motion without fading the entire document before images paint. */
@media (prefers-reduced-motion: no-preference) {
  main > section:first-child:not(.hero) h1 { animation: editorial-enter .65s ease-out both; }

  .approach-visual img,
  .care-visual img,
  .journal-visual img,
  .availability-visual img { transition: transform .7s cubic-bezier(.22, 1, .36, 1); }
}
@media (prefers-reduced-motion: no-preference) and (hover: hover) and (pointer: fine) {
  .approach-visual:hover img,
  .care-visual:hover img,
  .journal-visual:hover img,
  .availability-visual:hover img { transform: scale(1.025); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

/* A concise editorial note on active work and the course of care. */
.approach-commitment {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
  gap: clamp(2rem, 5vw, 5.5rem);
  align-items: start;
  background: #fffaf1;
  border-top: 4px solid var(--orange);
  padding: clamp(1.65rem, 3.4vw, 3.4rem);
}
.approach-commitment .kicker { margin-bottom: 1rem; }
.approach-commitment h3 { max-width: 14ch; margin: 0; color: var(--green); font: 400 clamp(2rem, 3vw, 3.65rem)/1.12 var(--display-font); letter-spacing: -.04em; }
.approach-commitment h3 em { color: var(--orange-dark); font-weight: 400; }
.approach-commitment-copy p { max-width: 43rem; margin: 0; color: var(--ink); line-height: 1.76; font-size: 1.05rem; }
.approach-commitment-copy .approach-duration { border-top: 1px solid var(--line); padding-top: 1.25rem; margin-top: 1.25rem; color: var(--muted); font-size: .98rem; }
@media (max-width: 760px) {
  .approach-commitment { grid-template-columns: 1fr; gap: 1.35rem; }
  .approach-commitment-copy p { font-size: 1rem; }
}

/* Four editorial reading pages give each care area room for a real example. */
.care-card > .text-link { display: inline-block; align-self: flex-start; margin-top: auto; white-space: normal; font-size: .9rem; }
.care-breadcrumb { display: flex; align-items: center; flex-wrap: wrap; gap: .65rem; padding: 1.1rem clamp(1.3rem, 5vw, 5.5rem); border-bottom: 1px solid var(--line); color: var(--muted); font-size: .85rem; }
.care-breadcrumb a { color: var(--green); text-underline-offset: .2em; }
.care-breadcrumb span[aria-current] { color: var(--orange-dark); }
.care-chapter-hero { display: grid; grid-template-columns: minmax(0, 1.13fr) minmax(0, .87fr); min-height: min(49rem, 84vh); border-bottom: 1px solid var(--line); }
.care-chapter-opening { align-self: center; padding: clamp(4.25rem, 7vw, 7.5rem) clamp(1.3rem, 5vw, 5.5rem); }
.care-chapter-opening .kicker { color: var(--orange-dark); margin-bottom: 1.8rem; }
.care-chapter-opening h1 { font-size: clamp(3.65rem, 5.2vw, 7rem); max-width: 12ch; margin-bottom: 2rem; }
.care-chapter-opening h1 em { color: var(--orange-dark); font-weight: 400; }
.care-chapter-opening > p:not(.kicker) { max-width: 38rem; color: var(--muted); line-height: 1.75; font-size: 1.02rem; }
.care-chapter-opening > .chapter-lead { color: var(--green) !important; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1.4rem, 2vw, 2rem) !important; line-height: 1.43 !important; }
.care-chapter-opening .button { margin: 1.25rem 0 1.3rem; }
.care-chapter-opening .chapter-availability { font-size: .88rem !important; line-height: 1.55 !important; }
.care-chapter-art { min-width: 0; margin: 0; display: flex; flex-direction: column; background: #eee2ce; border-left: 1px solid var(--line); }
.care-chapter-art img { display: block; flex: 1; width: 100%; min-height: 0; max-height: 49rem; object-fit: cover; object-position: center; }
.care-chapter-art figcaption { padding: .85rem clamp(1.3rem, 3vw, 3rem); background: var(--green); color: var(--paper); font-size: .72rem; font-weight: 700; letter-spacing: .13em; }
.care-chapter-recognition, .care-chapter-close { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); gap: clamp(3rem, 8vw, 9rem); }
.care-chapter-recognition h2, .care-chapter-close h2 { margin: 0; font-size: clamp(3.3rem, 5.4vw, 6.4rem); }
.care-chapter-recognition > div:last-child { border-top: 2px solid var(--orange); padding-top: 1.5rem; }
.care-chapter-recognition p, .care-chapter-close p { color: var(--muted); max-width: 43rem; line-height: 1.8; }
.care-chapter-recognition ul { margin: 2rem 0 0; padding: 0; list-style: none; }
.care-chapter-recognition li { padding: 1.05rem 0 1.05rem 2.15rem; border-top: 1px solid var(--line); position: relative; font-size: 1.06rem; line-height: 1.6; }
.care-chapter-recognition li::before { content: '✳'; color: var(--orange-dark); position: absolute; left: .1rem; top: 1.05rem; }
.care-chapter-practice { background: var(--green); color: var(--paper); }
.care-chapter-practice .section { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); column-gap: clamp(3rem, 8vw, 9rem); }
.care-practice-intro { align-self: start; }
.care-practice-intro h2 { font-size: clamp(3.1rem, 5vw, 5.8rem); margin-bottom: 1.5rem; }
.care-practice-intro em { color: #f4be7a; }
.care-practice-intro > p:last-child { color: #edece4; line-height: 1.75; max-width: 28rem; }
.care-practice-steps { border-top: 1px solid rgba(255, 250, 241, .45); }
.care-practice-steps details { border-bottom: 1px solid rgba(255, 250, 241, .38); }
.care-practice-steps summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 1rem; min-height: 5rem; padding: 1rem 0; }
.care-practice-steps summary::-webkit-details-marker { display: none; }
.care-practice-steps summary strong { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; font-size: clamp(1.35rem, 1.9vw, 1.95rem); line-height: 1.2; }
.care-step-index { color: #f4be7a; font-size: .8rem; font-weight: 700; letter-spacing: .1em; align-self: baseline; margin-top: .35rem; }
.care-step-icon { margin-left: auto; font-size: 1.6rem; color: #f4be7a; line-height: 1; }
.care-practice-steps details[open] .care-step-icon { transform: rotate(45deg); }
.care-practice-steps details p { color: #f4efe4; max-width: 42rem; padding: 0 2rem 1.6rem 2.4rem; line-height: 1.75; margin: 0; }
.care-practice-steps summary:focus-visible { outline: 3px solid #f4be7a; outline-offset: 3px; }
.care-practice-note { grid-column: 2; color: #e4dbcb; font-size: .9rem; line-height: 1.6; padding-top: 1.2rem; }
.care-chapter-close > div:last-child { align-self: center; }
.care-chapter-close .button { margin: 1.5rem 1.5rem 1rem 0; }
.care-chapter-close .text-link { display: inline-block; margin-top: .5rem; white-space: normal; }
.care-chapter-next { background: #eee6d6; }
.care-chapter-next .kicker { margin-bottom: 1.5rem; }
.care-chapter-next > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.care-chapter-next a { min-height: 8rem; display: flex; align-items: center; gap: 1rem; padding: 1.3rem 1rem; color: var(--green); text-decoration: none; }
.care-chapter-next a + a { border-left: 1px solid var(--line); }
.care-chapter-next a span:first-child { color: var(--orange-dark); font-weight: 700; font-size: .75rem; }
.care-chapter-next a strong { font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1.3rem, 1.8vw, 1.8rem); font-weight: 400; line-height: 1.25; }
.care-chapter-next a span:last-child { margin-left: auto; color: var(--orange-dark); font-size: 1.2rem; }
.care-chapter-next a:hover strong, .care-chapter-next a:focus-visible strong { color: var(--orange-dark); }
.care-chapter-next a:focus-visible { outline: 3px solid var(--orange-dark); outline-offset: -3px; }
.consult-options { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-block: 1px solid var(--line); scroll-margin-top: 7rem; }
.consult-options a { position: relative; display: flex; flex-direction: column; min-width: 0; min-height: 11rem; padding: 1.2rem 2.5rem 1.3rem 0; text-decoration: none; color: var(--green); }
.consult-options a + a { border-left: 1px solid var(--line); padding-left: 1.3rem; }
.consult-options a > span { color: var(--orange-dark); font-size: .75rem; font-weight: 700; letter-spacing: .12em; }
.consult-options a > strong { font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1.6rem, 2.35vw, 2.45rem); font-weight: 400; line-height: 1.2; margin: 1.3rem 0 .25rem; }
.consult-options a > small { font-size: .95rem; color: var(--muted); overflow-wrap: anywhere; }
.consult-options a > b { position: absolute; top: 1rem; right: .8rem; color: var(--orange-dark); font-size: 1.2rem; font-weight: 400; }
.consult-options a:hover strong, .consult-options a:focus-visible strong { color: var(--orange-dark); }
.consult-options a:focus-visible { outline: 3px solid var(--orange-dark); outline-offset: -3px; }
.consult-option-note { grid-column: 1 / -1; margin: -1rem 0 .1rem; color: var(--muted); line-height: 1.7; max-width: 61rem; font-size: .94rem; }
@media (prefers-reduced-motion: no-preference) {
  .care-practice-steps details[open] p { animation: disclosure-enter .3s ease-out; }
  .care-step-icon { transition: transform .2s ease; }
  .care-chapter-next a span:last-child { transition: transform .2s ease; }
  .care-chapter-next a:hover span:last-child, .care-chapter-next a:focus-visible span:last-child { transform: translate(2px, -2px); }
}
@media (max-width: 980px) {
  .care-chapter-hero { grid-template-columns: minmax(0, 1fr) minmax(0, .8fr); }
  .care-chapter-opening { padding-right: 2.4rem; }
  .care-chapter-next > div { grid-template-columns: 1fr; }
  .care-chapter-next a { min-height: 0; }
  .care-chapter-next a + a { border-left: 0; border-top: 1px solid var(--line); }
}
@media (max-width: 760px) {
  .consult-options { grid-template-columns: 1fr; }
  .consult-options a { min-height: 0; padding: 1.1rem 2rem 1.25rem 0; }
  .consult-options a + a { border-left: 0; border-top: 1px solid var(--line); padding-left: 0; }
  .consult-options a > strong { margin: .6rem 0 .15rem; }
  .consult-option-note { margin: -.6rem 0 .1rem; }
  .care-chapter-hero, .care-chapter-recognition, .care-chapter-close, .care-chapter-practice .section { grid-template-columns: 1fr; }
  .care-chapter-opening { padding: 3.2rem 1.3rem 2.6rem; }
  .care-chapter-opening h1 { font-size: clamp(3.1rem, 11vw, 4.8rem); }
  .care-chapter-opening .button { max-width: 100%; }
  .care-chapter-art { border-left: 0; }
  .care-chapter-art img { height: clamp(15rem, 65vw, 24rem); flex: none; }
  .care-chapter-recognition, .care-chapter-close { gap: 2rem; }
  .care-chapter-recognition h2, .care-chapter-close h2 { font-size: clamp(3rem, 10vw, 4.5rem); }
  .care-chapter-practice .section { gap: 1.4rem; }
  .care-practice-note { grid-column: 1; padding-top: 0; }
  .care-chapter-close .button { margin-right: 0; max-width: 100%; }
}

/* The practice name, invitation, and complete navigation remain easy to find on phones. */
.topbar .brand-tagline { display: flex; align-items: center; gap: .35rem; margin-top: .28rem; color: #476e40; font: 400 .76rem/1.3 var(--body-font); letter-spacing: .055em; text-transform: none; white-space: nowrap; }
.topbar .brand-tagline::before, .topbar .brand-tagline::after { content: ""; display: block; flex: 1; min-width: .9rem; height: 1px; background: var(--orange); }
.topbar--home { min-height: 9.2rem; height: auto; }
.topbar--home .brand { flex-direction: column; gap: .1rem; align-items: center; text-align: center; }
.topbar--home .brand-art { width: 4.25rem; height: 4.25rem; background-size: 180% auto; background-position: center 13%; }
.topbar--home .brand strong { font-size: 1.2rem; }
.topbar--home .brand small { display: flex; align-items: center; gap: .35rem; justify-content: center; margin-top: .36rem; }
.topbar--home .brand small::before, .topbar--home .brand small::after { content: ""; display: block; flex: 1; min-width: .6rem; height: 1px; background: var(--green); }
.mobile-menu { display: none; }
@media (max-width: 1190px) {
  .topbar { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; height: auto; min-height: 5.7rem; gap: .8rem; padding: .8rem clamp(1.3rem, 3vw, 3rem); }
  .topbar .brand { min-width: 0; margin: 0; white-space: normal; }
  .topbar > .desktop-nav { display: none; }
  .topbar .button-small { display: inline-flex; grid-column: 2; grid-row: 1; min-height: 2.75rem; padding: .75rem .9rem; gap: .5rem; font-size: .86rem; }
  .topbar .mobile-menu { display: block; grid-column: 3; grid-row: 1; position: relative; }
  .topbar .mobile-menu summary { display: flex; align-items: center; justify-content: center; gap: .65rem; min-height: 2.75rem; padding: .7rem .9rem; border: 1px solid var(--green); border-radius: 3px; color: var(--green); background: var(--cream); font-size: .88rem; font-weight: 700; line-height: 1.3; list-style: none; cursor: pointer; }
  .topbar .mobile-menu summary::-webkit-details-marker { display: none; }
  .topbar .mobile-menu summary:focus-visible { outline: 3px solid var(--orange); outline-offset: 3px; }
  .topbar .mobile-menu[open] summary { background: var(--green); color: var(--paper); }
  .topbar .menu-icon { font-size: 1.1rem; line-height: 1; }
  .topbar .mobile-menu-panel { position: absolute; top: calc(100% + .45rem); right: 0; z-index: 30; width: min(19rem, calc(100vw - 2.6rem)); background: var(--paper); border: 1px solid var(--line); border-top: 3px solid var(--orange); box-shadow: 0 14px 28px rgba(20, 49, 41, .14); }
  .topbar .mobile-menu .mobile-nav { display: flex; flex-direction: column; justify-content: flex-start; align-items: stretch; gap: 0; margin: 0; padding: .4rem 1rem; overflow: visible; white-space: normal; }
  .topbar .mobile-menu .mobile-nav a { display: block; min-height: 2.8rem; padding: .7rem .25rem; border-bottom: 1px solid var(--line); font-size: .95rem; line-height: 1.45; }
  .topbar .mobile-menu .mobile-nav a:last-child { border-bottom: 0; }
  .topbar .mobile-menu .mobile-nav a::after { display: none; }
  .topbar .mobile-menu .mobile-nav a[aria-current="page"] { color: var(--orange-dark); }
  .topbar .mobile-menu-contact { display: flex; gap: 1.4rem; border-top: 1px solid var(--line); padding: .8rem 1.25rem 1rem; }
  .topbar .mobile-menu-contact a { color: var(--green); font-size: .95rem; font-weight: 700; text-underline-offset: .2em; }
}
@media (max-width: 600px) {
  .topbar { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; padding: .9rem 1.3rem; }
  .topbar .brand { grid-column: 1 / -1; grid-row: 1; }
  .topbar .button-small { grid-column: 1; grid-row: 2; justify-self: stretch; }
  .topbar .mobile-menu { grid-column: 2; grid-row: 2; }
  .topbar .mobile-menu summary { justify-content: space-between; width: 100%; }
  .topbar .mobile-menu-panel { width: calc(100vw - 2.6rem); right: 0; }
  .topbar--home .brand { justify-self: center; }
}

/* A protected account route is offered alongside direct first contact. */
.platform-choice { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: start; padding: clamp(1.5rem, 3vw, 2.8rem); background: #fffaf1; border-top: 3px solid var(--orange); }
.platform-choice .kicker { margin-bottom: .8rem; }
.platform-choice h2 { font-size: clamp(1.9rem, 3vw, 3.3rem); margin: 0; }
.platform-choice-copy p { color: var(--muted); max-width: 42rem; line-height: 1.75; margin: 0 0 1.2rem; }
.platform-choice .text-link { display: inline-block; white-space: normal; line-height: 1.5; }
.contact > .contact-alternative { font-size: .95rem; }
.contact-alternative a { color: var(--green); font-weight: 700; text-decoration-color: var(--orange); text-underline-offset: .22em; }
@media (max-width: 760px) { .platform-choice { grid-template-columns: 1fr; } }

/* Keep the invitation in view before the artwork on narrow screens. */
.care-grid .care-card, .care-grid .care-card:first-child {
  grid-template-columns: minmax(4.5rem, .32fr) minmax(12rem, 1fr) minmax(0, 1.55fr) minmax(8.5rem, .65fr);
}
.care-grid .care-card > .text-link {
  justify-self: start;
  align-self: start;
  margin-top: .18rem;
  line-height: 1.45;
  white-space: normal;
}
@media (min-width: 761px) and (max-width: 1100px) {
  .care-grid .care-card, .care-grid .care-card:first-child {
    grid-template-columns: 4rem minmax(11rem, .9fr) minmax(0, 1.3fr);
  }
  .care-grid .care-card > .text-link { grid-column: 3; }
}
@media (max-width: 760px) {
  .hero { display: flex; flex-direction: column; align-items: stretch; padding-top: 0; }
  .hero::before { display: none; }
  .hero-copy { order: 0; width: 100%; padding: 2.2rem 1.3rem 2.4rem; }
  .hero-art { position: relative; order: 1; inset: auto; z-index: 0; width: 100%; height: clamp(15.5rem, 67vw, 20rem); background-position: 78% center; }
  .hero-stamp { top: auto; bottom: 1.6rem; right: 1.3rem; }
  .hero-actions { margin-top: 1.5rem; }
  .hero-booking { margin-top: .8rem; }
  .care-grid .care-card, .care-grid .care-card:first-child { grid-template-columns: 1fr; }
  .care-grid .care-card > .text-link { grid-column: 1; margin-top: .9rem; }
}
@media (max-width: 1190px) {
  .topbar .mobile-menu-panel { max-height: min(70dvh, 32rem); overflow-y: auto; overscroll-behavior: contain; }
}
@media (max-width: 360px) {
  .topbar { padding: .65rem 1rem .8rem; }
  .topbar--home .brand-art { width: 3.7rem; height: 3.7rem; }
  .topbar--home .brand strong { font-size: 1.14rem; }
  .hero-copy { padding-top: 1.7rem; }
  .hero h1 { font-size: 2.35rem; line-height: 1.04; margin: .8rem 0 1.1rem; }
  .hero-copy > p:not(.hero-note) { line-height: 1.58; }
  .hero-actions { margin-top: 1.15rem; }
}
@media (max-width: 760px) {
  .eyebrow-practice { display: none; }
  .beginning-section .section { padding-top: 3rem; }
  .beginning-inner { row-gap: 1.1rem; }
  .beginning-heading h1 { margin-bottom: 0; }
  .beginning-lead { margin-bottom: 1rem; }
}

/* A restrained invitation to improve the site, separate from care inquiries. */
.site-feedback-invite { border-top: 1px solid var(--line); background: #eee6d6; }
.site-feedback-invite-inner { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(2rem, 7vw, 8rem); padding-top: clamp(2.7rem, 5vw, 5rem); padding-bottom: clamp(2.7rem, 5vw, 5rem); align-items: end; }
.site-feedback-invite h2 { font-size: clamp(2.15rem, 3.5vw, 4.2rem); margin: 0; max-width: 15ch; }
.site-feedback-invite-inner > div:last-child { border-top: 2px solid var(--orange); padding-top: 1.2rem; }
.site-feedback-invite p:not(.kicker) { color: var(--muted); font-size: 1rem; line-height: 1.75; max-width: 37rem; }
.site-feedback-invite .text-link { display: inline-block; white-space: normal; line-height: 1.5; }
.feedback-page { background: var(--cream); }
.feedback-page-inner { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: start; gap: clamp(2.4rem, 7vw, 8rem); padding-top: clamp(4rem, 8vw, 8rem); padding-bottom: clamp(3rem, 6vw, 6rem); }
.feedback-heading h1 { font-size: clamp(3rem, 5.5vw, 6.4rem); max-width: 12ch; margin: 0 0 2rem; }
.feedback-heading > p:last-child { color: var(--muted); font-size: clamp(1.08rem, 1.4vw, 1.25rem); line-height: 1.75; max-width: 35rem; }
.feedback-card { border-top: 3px solid var(--orange); background: var(--paper); padding: clamp(1.5rem, 3.5vw, 3.5rem); box-shadow: 15px 15px 0 #e8ddc8; }
.feedback-card ol { list-style: none; padding: 0; margin: .6rem 0 1.6rem; }
.feedback-card li { border-top: 1px solid var(--line); display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); gap: .7rem; padding: 1rem 0; }
.feedback-card li span { color: var(--orange-dark); font-weight: 700; font-size: .8rem; padding-top: .28rem; }
.feedback-card li p { font: 400 clamp(1.25rem, 1.9vw, 1.85rem)/1.25 var(--display-font); color: var(--green); margin: 0; }
.feedback-detail, .feedback-fallback { color: var(--muted); font-size: .96rem; line-height: 1.75; }
.feedback-card .button { margin: .5rem 0 1rem; }
.feedback-fallback { margin-bottom: 0; overflow-wrap: anywhere; }
.feedback-fallback a, .feedback-boundary a { color: var(--green); text-underline-offset: .2em; text-decoration-color: var(--orange); font-weight: 700; }
.feedback-boundary { padding-top: 0; }
.feedback-boundary p { max-width: 66rem; border-top: 1px solid var(--line); padding-top: 1.4rem; line-height: 1.75; color: var(--muted); }
.feedback-boundary strong { color: var(--green); }
@media (max-width: 760px) {
  .site-feedback-invite-inner, .feedback-page-inner { grid-template-columns: 1fr; gap: 1.6rem; }
  .feedback-page-inner { padding-top: 3.2rem; }
  .feedback-heading h1 { font-size: clamp(2.8rem, 10vw, 4.4rem); }
  .feedback-card { box-shadow: 8px 8px 0 #e8ddc8; margin-right: .5rem; }
  .feedback-card .button { width: 100%; }
}

/* Keep first contact within reach without crowding the primary invitation. */
.hero-direct { display: flex; align-items: center; flex-wrap: wrap; gap: .15rem .95rem; margin: 1rem 0 0; font-size: .91rem; line-height: 1.4; }
.hero-direct span { color: var(--muted); margin-right: .1rem; }
.hero-direct a { display: inline-flex; align-items: center; min-height: 2.7rem; color: var(--green); font-weight: 700; text-decoration-color: var(--orange); text-underline-offset: .25em; }
.hero-direct a:hover { color: var(--orange-dark); }

/* Coverage stays complete, but visitors can scan names instead of parsing a wall of copy. */
.insurance-heading-copy p { color: var(--muted); line-height: 1.8; font-size: 1.06rem; max-width: 35rem; margin: 0 0 1rem; }
.insurance-heading-copy .text-link { display: inline-block; white-space: normal; line-height: 1.5; }
.insurance-grid { display: block; border-top: 1px solid #b9c1ae; }
.insurance-disclosure { border-bottom: 1px solid #b9c1ae; }
.insurance-disclosure summary { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 1.7rem 0; cursor: pointer; list-style: none; }
.insurance-disclosure summary::-webkit-details-marker { display: none; }
.insurance-disclosure summary:focus-visible { outline: 3px solid var(--orange-dark); outline-offset: -3px; }
.insurance-disclosure summary small { display: block; color: var(--orange-dark); font-size: .76rem; font-weight: 750; letter-spacing: .13em; line-height: 1.4; }
.insurance-disclosure summary strong { display: block; margin-top: .35rem; color: var(--green); font: 400 clamp(1.75rem, 2.5vw, 2.8rem)/1.16 var(--display-font); letter-spacing: -.035em; }
.insurance-toggle { flex: none; display: grid; place-items: center; width: 2.4rem; height: 2.4rem; border: 1px solid var(--green); border-radius: 50%; color: var(--green); font-size: 1.45rem; line-height: 1; }
.insurance-disclosure[open] .insurance-toggle { transform: rotate(45deg); }
.insurance-disclosure-body { padding: .2rem 0 2.35rem; }
.insurance-disclosure-body > p { color: var(--muted); line-height: 1.7; max-width: 42rem; margin: 0 0 1.25rem; }
.insurance-plan-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: clamp(1.2rem, 3vw, 3rem); list-style: none; padding: 0; margin: 0; }
.insurance-plan-list li { position: relative; min-width: 0; border-top: 1px solid #d4d1c2; padding: .7rem .2rem .7rem 1.15rem; color: var(--ink); line-height: 1.47; overflow-wrap: break-word; }
.insurance-plan-list li::before { content: ''; position: absolute; left: .1rem; top: 1.32rem; width: .36rem; height: .36rem; border-radius: 50%; background: var(--orange); }
.insurance-check { scroll-margin-top: 2rem; }
.footer-feedback { display: flex; align-items: baseline; flex-wrap: wrap; gap: .35rem 1.2rem; border-top: 1px solid rgba(255,255,255,.25); padding: 1rem 0 1.4rem; color: #e6e9dd; }
.footer-feedback span { font-size: .7rem; font-weight: 700; letter-spacing: .12em; color: #f4be7a; }
.footer-feedback p { flex: 1 1 27rem; max-width: 39rem; margin: 0; font-size: .81rem; line-height: 1.6; }
.footer-feedback a { font-size: .82rem; font-weight: 700; color: #f8d49b; text-underline-offset: .2em; }
@media (max-width: 980px) { .insurance-plan-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) {
  .hero-direct { gap: 0 .85rem; margin-top: .6rem; }
  .hero-direct span { flex-basis: 100%; }
  .insurance-heading-copy p { font-size: 1rem; }
  .insurance-disclosure summary { padding: 1.3rem 0; }
  .insurance-plan-list { grid-template-columns: 1fr; }
  .insurance-disclosure-body { padding-bottom: 1.8rem; }
  .footer-feedback { display: block; }
  .footer-feedback p { margin: .45rem 0 .75rem; }
}
