/* Shared editorial layout for the bilingual content pages. */
.article-page .page-heading h1 { max-width:28ch; font-size:clamp(2.15rem,4.3vw,4.5rem); line-height:1.12; }
.article-body { max-width:52rem; margin-inline:auto; padding:2.5rem var(--page-x) 4rem; box-sizing:content-box; }
.article-body > section { margin-top:3rem; }
.article-body h2,.article-related h2 { font:400 clamp(1.7rem,2.5vw,2.4rem)/1.2 var(--serif); letter-spacing:-.025em; margin-bottom:1rem; }
.article-body p { line-height:1.85; color:#53524d; margin-bottom:1.2rem; }
.article-body .article-byline { font-size:.8rem; letter-spacing:.025em; padding-bottom:1.5rem; border-bottom:1px solid var(--line); }
.article-body a:not(.arrow-link),.article-related a { text-decoration:underline; text-underline-offset:.25em; text-decoration-color:var(--gold); }
.article-body a:hover,.article-related a:hover,.journal-entry a:hover { color:#816119; }
.article-body a:focus-visible,.article-related a:focus-visible,.journal-entry a:focus-visible { outline:2px solid var(--gold); outline-offset:5px; }
.article-faq { max-width:52rem; }
.article-faq details { border-top:1px solid var(--line); padding:1.1rem 0; }
.article-faq summary { cursor:pointer; font-size:1rem; font-weight:600; line-height:1.6; }
.article-faq details p { padding-top:1rem; margin-bottom:0; }
.article-note { border-block:1px solid var(--line); margin-block:2.5rem; padding:1.5rem 0 .5rem; font-size:.85rem; }
.article-related { max-width:55rem; margin:2rem 0; }
.article-related a { display:block; border-top:1px solid var(--line); padding:1.1rem 0; line-height:1.6; }
.article-related a span { white-space:nowrap; }
.journal-entry__summary { max-width:48rem; line-height:1.8; color:#64635e; margin-top:1.1rem; }
.journal-entry__status { text-decoration:underline; text-underline-offset:.3em; }
@media(max-width:760px) {
  .article-body { box-sizing:border-box; width:100%; padding:2rem var(--page-x) 3rem; }
  .article-page .page-heading h1 { font-size:clamp(2rem,8vw,3.2rem); }
}
.price-list { padding:clamp(2.5rem,5vw,5rem) var(--page-x); border-top:1px solid var(--line); scroll-margin-top:var(--header-h); }
.price-list__heading { display:flex; justify-content:space-between; align-items:flex-end; gap:1.5rem; margin-bottom:2.5rem; }
.price-list__heading h2 { font:400 clamp(2.5rem,4vw,4rem)/1.1 var(--serif); letter-spacing:-.04em; margin-top:.75rem; }
.price-list__heading > p { color:#64635e; font-size:.9rem; }
.price-list__groups { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(2rem,6vw,6rem); }
.price-group h3 { font:400 clamp(1.5rem,2vw,2rem)/1.25 var(--serif); color:var(--red); margin-bottom:1.25rem; }
.price-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:1.5rem; padding:1.15rem 0; border-top:1px solid var(--line); align-items:baseline; }
.price-row dt { font-size:1rem; line-height:1.55; }
.price-row small { display:block; color:#64635e; font-size:.8rem; margin-top:.35rem; }
.price-row dd { margin:0; font-size:1.15rem; font-variant-numeric:tabular-nums; white-space:nowrap; }
.price-list__footer { border-top:1px solid var(--line); padding-top:1.5rem; margin-top:1rem; }
@media(max-width:760px) {
  .price-list__heading { display:block; }
  .price-list__heading > p { margin-top:1rem; }
  .price-list__groups { grid-template-columns:minmax(0,1fr); gap:2.5rem; }
  .price-row { gap:1rem; }
}
.showreel { background:var(--ink); color:var(--bone); padding:clamp(2rem,4svh,4rem) var(--page-x); scroll-margin-top:var(--header-h); }
.showreel__heading { display:flex; justify-content:space-between; align-items:flex-end; gap:2rem; margin-bottom:clamp(1.5rem,3svh,2.5rem); }
.showreel__heading .eyebrow { color:var(--gold); }
.showreel__heading h2 { font:400 clamp(2.4rem,4.8svh,4rem)/1.05 var(--serif); letter-spacing:-.045em; margin-top:.75rem; }
.showreel__heading h2 br { display:none; }
.showreel__heading h2 em { color:var(--gold); margin-left:.15em; }
.showreel__heading > p { max-width:23rem; color:#c5c1b8; line-height:1.7; }
.showreel__film { width:100%; max-width:calc(58svh * 16 / 9); margin:0 auto; }
.showreel__film video { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:contain; background:#000; border:1px solid rgba(199,164,91,.3); }
.showreel__film video:focus-visible { outline:2px solid var(--gold); outline-offset:5px; }
.showreel__film figcaption { display:flex; justify-content:space-between; flex-wrap:wrap; gap:.5rem 1rem; padding-top:1rem; color:#c5c1b8; font-size:.6rem; letter-spacing:.12em; }
@media(max-width:760px) {
  .showreel { padding-block:2.5rem; }
  .showreel__heading { display:block; }
  .showreel__heading > p { margin-top:1.2rem; }
  .showreel__film { max-width:none; }
}
.local-care { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,6vw,7rem); padding:clamp(3rem,7vw,7rem) var(--page-x); border-top:1px solid var(--line); }
.local-care h2 { font:400 clamp(2rem,3.4vw,3.8rem)/1.12 var(--serif); letter-spacing:-.045em; margin-top:1.5rem; }
.local-care__copy { max-width:43rem; }
.local-care__copy p { margin-bottom:1.4rem; color:#64635e; line-height:1.8; }
.page-main { padding-top:var(--header-h); }
.page-heading { padding:clamp(3rem,6vw,6rem) var(--page-x) clamp(3rem,5vw,5rem); border-bottom:1px solid var(--line); }
.page-heading h1 { font:400 clamp(2.7rem,5.7vw,6rem)/1.04 var(--serif); letter-spacing:-.055em; margin:1.6rem 0 2rem; max-width:18ch; }
.page-heading h1 em { color:var(--red); font-weight:400; }
.page-heading__intro { max-width:47rem; color:#64635e; font-size:clamp(1rem,1.25vw,1.2rem); line-height:1.8; }
.profile-layout { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); align-items:start; gap:clamp(2rem,7vw,8rem); padding:clamp(3rem,6vw,6rem) var(--page-x); }
.profile-layout figure img { height:min(72svh,780px); object-fit:cover; object-position:50% 22%; }
.profile-layout figcaption { padding-top:1rem; font-size:.65rem; letter-spacing:.13em; color:#64635e; }
.prose h2,.page-section h2,.page-cta h2 { font:400 clamp(2rem,3.3vw,3.7rem)/1.12 var(--serif); letter-spacing:-.04em; margin:1.2rem 0 1.6rem; }
.prose p:not(.eyebrow),.page-section p:not(.eyebrow) { color:#64635e; line-height:1.85; margin-bottom:1.35rem; }
.prose p:first-of-type + h2 + p { font:400 clamp(1.3rem,1.8vw,1.8rem)/1.5 var(--serif); color:var(--ink); }
.page-section { padding:clamp(3rem,5vw,5rem) var(--page-x); border-top:1px solid var(--line); }
.editorial-columns { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,6vw,7rem); max-width:72rem; margin-bottom:1rem; }
.page-cta { margin:2rem var(--page-x) clamp(3rem,6vw,6rem); padding:clamp(2rem,4vw,4rem); background:var(--ink); color:var(--bone); display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.page-cta h2 { margin-bottom:0; }
.page-cta .eyebrow { color:var(--gold); }
.review-feature { padding:clamp(3rem,6vw,6rem) var(--page-x); display:grid; grid-template-columns:1fr 5fr; gap:2rem; }
.review-feature__mark { color:var(--red); font:6rem/1 var(--serif); }
.review-feature blockquote { max-width:65rem; min-width:0; }
.review-feature blockquote p { font:400 clamp(1.8rem,3.4vw,3.8rem)/1.18 var(--serif); letter-spacing:-.035em; }
.review-feature footer { margin-top:2.5rem; padding-top:1.5rem; border-top:1px solid var(--line); display:flex; flex-wrap:wrap; gap:1rem 3rem; font-size:.65rem; letter-spacing:.12em; }
.review-videos { scroll-margin-top:var(--header-h); }
.review-videos__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(1.5rem,3vw,3rem); margin-top:2rem; }
.review-videos__item { min-width:0; margin:0; }
.review-videos__item video { display:block; width:100%; height:auto; object-fit:contain; background:var(--ink); border:1px solid var(--gold); }
.review-videos__item video:focus-visible { outline:2px solid var(--gold); outline-offset:5px; }
.review-videos__item figcaption { padding-top:1rem; font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; color:#64635e; }
.journal-list { padding:clamp(3rem,5vw,5rem) var(--page-x); }
.journal-list__heading { display:flex; justify-content:space-between; align-items:baseline; gap:2rem; margin-bottom:3rem; }
.journal-list__heading h2 { font:400 clamp(1.8rem,3vw,3rem)/1.2 var(--serif); letter-spacing:-.035em; }
.journal-list__heading p { color:#64635e; }
.journal-entry { display:grid; grid-template-columns:4rem minmax(0,1fr) 7rem; gap:2rem; border-top:1px solid var(--line); padding:2.5rem 0; align-items:start; }
.journal-entry:last-child { border-bottom:1px solid var(--line); }
.journal-entry h3 { font:400 clamp(1.55rem,2.6vw,2.7rem)/1.25 var(--serif); letter-spacing:-.025em; max-width:35ch; margin-top:.8rem; }
.journal-entry__number { color:var(--red); font-size:.8rem; }
.journal-entry__status { color:#64635e; font-size:.75rem; text-align:right; }
.journal-note { max-width:70rem; }
.content-page .footer__top,.content-page .footer__signature { display:none; }
.content-page .footer { padding-top:3rem; }
.content-page .footer__middle { padding-top:0; }
.mobile-menu { overflow-y:auto; }
@media(max-width:760px) {
  .review-videos__grid { grid-template-columns:minmax(0,1fr); gap:2rem; }
  .local-care,.profile-layout,.editorial-columns { grid-template-columns:1fr; }
  .page-heading { padding-top:2.6rem; }
  .page-heading h1 { font-size:clamp(2.3rem,9vw,4rem); }
  .profile-layout figure img { height:65svh; max-height:620px; }
  .page-cta { align-items:flex-start; flex-direction:column; }
  .review-feature { grid-template-columns:1fr; gap:0; }
  .review-feature__mark { font-size:4rem; }
  .journal-list__heading { display:block; }
  .journal-list__heading p { margin-top:1rem; }
  .journal-entry { grid-template-columns:1.6rem minmax(0,1fr); gap:1rem; }
  .journal-entry__status { grid-column:2; text-align:left; }
}
.treatment-index { display: flex; flex-wrap: wrap; gap: .75rem 1.75rem; padding: 1.5rem var(--page-x); border-block: 1px solid var(--line, #d1cec6); }
.treatment-index a { font-size: .95rem; padding: .5rem 0; text-underline-offset: .3em; }
.treatment-index a:hover { color: #947127; }
.treatment-detail { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 6vw, 7rem); scroll-margin-top: 7rem; }
.treatment-detail h2 { font-size: clamp(2rem, 3.6vw, 3.8rem); }
.treatment-detail .prose p:first-child { margin-top: 0; }
.treatment-detail .arrow-link { margin-top: 1rem; }
@media (max-width: 700px) { .treatment-detail { grid-template-columns: 1fr; gap: 1.5rem; } }
.visit-location,.visit-booking { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(2rem,6vw,6rem); align-items:center; }
.visit-address { font-style:normal; line-height:1.8; margin:1.5rem 0; }
.visit-map { min-width:0; background:var(--ink); border:1px solid var(--line); }
.visit-map iframe { display:block; width:100%; height:clamp(320px,45vw,440px); border:0; }
.visit-booking__links { display:flex; flex-direction:column; gap:1.4rem; min-width:0; }
.visit-booking__links > a { display:flex; flex-direction:column; gap:.4rem; padding-bottom:1rem; border-bottom:1px solid var(--line); line-height:1.5; overflow-wrap:anywhere; }
.visit-booking__links > a span { font-size:.9rem; color:#64635e; }
.visit-booking__links > a:hover { color:#816119; }
.visit-booking__links .button { white-space:normal; text-align:left; }
.visit-preparation__grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:2rem clamp(2rem,6vw,6rem); margin:2.5rem 0; }
.visit-preparation h3 { font:400 clamp(1.5rem,2.3vw,2.3rem)/1.2 var(--serif); margin-bottom:1rem; letter-spacing:-.025em; }
.visit-reading { display:flex; flex-wrap:wrap; gap:1.5rem 3rem; }
.local-care__copy > .arrow-link { margin-right:2rem; margin-bottom:1rem; }
@media(max-width:760px) { .visit-location,.visit-booking,.visit-preparation__grid { grid-template-columns:minmax(0,1fr); } }
