.interior-page .site-header { position:relative; background:var(--ink); color:var(--ivory); }
.founder-portrait img { aspect-ratio:1024/1297; height:auto; object-fit:contain; }
.site-header { flex-wrap:wrap; gap:20px 32px; }
.site-header nav { flex-wrap:wrap; }
.site-header nav a { font-size:.875rem; letter-spacing:.09em; }
.site-header a[aria-current="page"] { text-decoration:underline; text-underline-offset:6px; }
footer { flex-wrap:wrap; gap:18px 28px; font-size:.75rem; }
.page-intro { padding:64px clamp(24px,7vw,108px) 48px; }
.page-intro h1 { font-size:clamp(2.8rem,5.5vw,5.8rem); line-height:1.08; }
.page-intro > p:not(.eyebrow) { max-width:680px; margin:24px 0 0; }
.action-button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:13px 22px; border:1px solid var(--ink); background:var(--ink); color:var(--ivory); text-decoration:none; font:inherit; font-size:.9375rem; cursor:pointer; }
.action-button.secondary { color:var(--ink); background:transparent; }
.action-button:hover { filter:brightness(1.15); }
.action-button:focus-visible,summary:focus-visible { outline:2px solid var(--brass); outline-offset:5px; }
.packages-section { padding:72px clamp(24px,7vw,108px); background:var(--ink); color:var(--ivory); }
.packages-heading { max-width:760px; margin-bottom:42px; }
.packages-heading .eyebrow { color:#d0b978; }
.packages-heading h2 { font-size:clamp(2.4rem,4.5vw,4.7rem); margin:0 0 24px; line-height:1.12; }
.packages-heading > p:last-child { color:#d2ccc0; }
.packages-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.package-card { display:flex; flex-direction:column; padding:32px 26px; background:#242420; border:1px solid #4a463a; }
.package-card p { color:#f4f0e8; }
.packages-section .package-purpose { margin:0 0 16px; color:#d0b978; font-size:.875rem; }
.package-card h3,.package-refresh h3 { font-size:clamp(2rem,2.8vw,3rem); line-height:1.1; margin:0 0 18px; }
.package-card .package-result { border-top:1px solid #4a463a; padding-top:18px; color:#e4d9bf; margin-top:auto; }
.package-card details { margin:8px 0 20px; }
.package-card summary { min-height:44px; padding:10px 0; color:#d0b978; cursor:pointer; }
.package-card details p { font-size:.9375rem; }
.package-card .text-link { font-size:.875rem; letter-spacing:.04em; color:#d0b978; }
.package-refresh { display:grid; grid-template-columns:1fr 1.8fr; gap:28px; padding:32px; margin-top:24px; background:#eee9df; color:#23231f; }
.packages-section .package-refresh p,.packages-section .package-refresh h3,.packages-section .package-refresh a { color:#23231f; }
.packages-section .package-refresh .package-purpose { color:#65552c; }
.package-refresh p { margin:0 0 12px; }
.package-refresh a { font-size:.875rem; letter-spacing:.04em; }
.package-pricing { color:#d2ccc0; margin:28px 0 12px; }
.packages-section > .text-link { font-size:.875rem; letter-spacing:.04em; }
.consultation-select { text-decoration:none; text-align:center; font-size:.875rem; letter-spacing:.04em; }
.consultation-online-note { margin-top:28px; max-width:670px; }
.booking-main { max-width:1500px; margin:auto; }
.booking-heading { padding-bottom:32px; }
.availability-note { padding:18px 22px; background:#eee9df; color:#23231f; border-left:3px solid #65552c; font-size:.9375rem; }
.booking-main > noscript p { margin:0 7% 24px; }
#booking-form { padding:0 clamp(24px,7vw,108px) 52px; }
.booking-choices,.booking-details,.booking-address { border:0; margin:0; padding:0; min-width:0; }
.booking-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.booking-choices > legend,.booking-details > legend { font:400 1.6rem/1.3 var(--serif); padding:0 0 24px; width:100%; }
.booking-choices legend span,.booking-details legend span { display:inline-block; font:400 .875rem/1.5 var(--sans); color:#65552c; margin-right:16px; }
.booking-choice { display:flex; gap:16px; padding:28px; border:1px solid var(--line); background:var(--ivory); color:var(--ink); cursor:pointer; }
.booking-choice:has(input:checked) { border-color:#65552c; box-shadow:inset 0 0 0 1px #65552c; }
.booking-choice input { width:20px; height:20px; flex-shrink:0; accent-color:#65552c; margin:5px 0 0; }
.choice-content { display:flex; flex-direction:column; gap:16px; min-width:0; }
.choice-content strong { font:400 clamp(1.7rem,2.5vw,2.6rem)/1.15 var(--serif); }
.choice-label { font-size:.875rem; color:#65552c; }
.choice-price { font:400 1.4rem/1.3 var(--serif); }
.choice-boundary { font-size:.875rem; color:#514c43; }
.booking-details { margin-top:42px; padding:32px; border:1px solid var(--line); }
.booking-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.booking-fields label { display:flex; flex-direction:column; gap:8px; font-size:.9375rem; min-width:0; }
.booking-fields input,.booking-fields select,.booking-fields textarea { width:100%; min-width:0; min-height:48px; border:1px solid #9b9283; border-radius:0; padding:12px; color:#171512; background:#fff; font:inherit; font-size:1rem; }
.booking-fields textarea { resize:vertical; }
.booking-fields .optional { color:#655e53; font-size:.875rem; }
.full-width { grid-column:1/-1; }
.field-note { color:#5c554b; font-size:.875rem; margin:0; }
.booking-address { border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:20px 0; }
.booking-address > legend { font:400 1.35rem/1.3 var(--serif); padding:0 0 12px; }
.booking-address .field-note { margin-top:18px; }
.booking-consent { display:flex; align-items:flex-start; gap:14px; margin:28px 0; }
.booking-consent input { width:20px; height:20px; margin:4px 0 0; flex-shrink:0; accent-color:#65552c; }
.booking-details > .field-note { margin-top:18px; }
.booking-review { margin:0 clamp(24px,7vw,108px) 52px; padding:32px; border:1px solid var(--line); background:#eee9df; color:#23231f; scroll-margin-top:30px; }
.booking-review h2 { font:400 clamp(1.9rem,3vw,3rem)/1.2 var(--serif); }
#booking-summary { display:grid; grid-template-columns:160px minmax(0,1fr); gap:16px 24px; }
#booking-summary dt { color:#65552c; }
#booking-summary dd { margin:0; white-space:pre-wrap; overflow-wrap:anywhere; }
.review-payment { border-top:1px solid var(--line); margin-top:24px; padding-top:18px; }
#review-price { font:400 1.6rem/1.3 var(--serif); margin:0 0 12px; }
.booking-actions { display:flex; gap:14px; flex-wrap:wrap; margin-top:24px; }
.booking-result { font-size:.9375rem; margin:20px 0 0; }
.payment-setup { display:grid; grid-template-columns:1fr 1.4fr; gap:52px; padding:56px clamp(24px,7vw,108px); background:var(--ivory); }
.returning-booking{padding:0 clamp(24px,7vw,108px) 52px;scroll-margin-top:24px}.returning-booking-dropdown{border:1px solid var(--line);background:#eee9df}.returning-booking-dropdown>summary{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:112px;padding:24px 30px;cursor:pointer;list-style:none}.returning-booking-dropdown>summary::-webkit-details-marker{display:none}.returning-booking-dropdown>summary strong{display:block;font:400 clamp(1.75rem,3vw,2.8rem)/1.15 var(--serif);margin-top:8px}.returning-toggle{font:300 2rem/1 var(--sans)}.returning-booking-dropdown[open] .returning-toggle{transform:rotate(45deg)}.returning-booking-content{padding:0 30px 30px}.returning-booking-content>p:first-child{max-width:680px;margin:0 0 24px}.returning-session-list{border-top:1px solid var(--line)}.returning-session-list article{display:grid;grid-template-columns:minmax(190px,.8fr) minmax(220px,1.2fr) auto;align-items:center;gap:24px;padding:22px 0;border-bottom:1px solid var(--line)}.returning-session-list h3{font:400 clamp(1.45rem,2vw,2rem)/1.15 var(--serif);margin:4px 0}.returning-session-list .session-time{margin:0;color:#65552c;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}.returning-session-list .session-price{margin:0;font-size:.9rem}.returning-session-list article>p{margin:0}.returning-session-list .action-button{min-width:150px}.returning-booking-content>.field-note{margin-top:20px;max-width:760px}
.payment-setup h2 { font:400 clamp(2rem,3vw,3.2rem)/1.15 var(--serif); margin:0; }
.payment-setup p:first-child { margin-top:0; }
.faq-section,.policies-section { display:grid; grid-template-columns:1fr 1.5fr; gap:60px; padding:48px clamp(24px,7vw,108px) 80px; }
.faq-section-heading h2 { font:400 clamp(2rem,3vw,3.2rem)/1.15 var(--serif); margin:18px 0 24px; }
.faq-list details { padding:22px 0; border-bottom:1px solid var(--line); }
.faq-list details:first-child { border-top:1px solid var(--line); }
.faq-list summary { font-size:1.0625rem; line-height:1.45; cursor:pointer; min-height:44px; padding:9px 0; }
.faq-list details p { margin:18px 0 12px; }
.policies-section { background:var(--ivory); padding-top:64px; scroll-margin-top:24px; }
.policy-list article { border-bottom:1px solid var(--line); padding:0 0 24px; margin-bottom:24px; }
.policy-list h3 { font:400 1.5rem/1.25 var(--serif); margin:0 0 14px; }
.policy-list p { margin:0; }
.testimonial-list { padding:0 clamp(24px,7vw,108px) 72px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.testimonial-list figure { margin:0; padding:32px; border-top:1px solid var(--line); }
.testimonial-list blockquote { font:400 clamp(1.5rem,2.2vw,2.2rem)/1.4 var(--serif); margin:0 0 26px; }
.testimonial-list figcaption { color:#65552c; font-size:.9375rem; }
.review-archive{margin:0 clamp(24px,7vw,108px) 72px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.review-archive>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px;font:400 clamp(1.35rem,2vw,2rem)/1.3 var(--serif)}.review-archive>summary::-webkit-details-marker{display:none}.review-archive>summary::after{content:'+';font:300 2rem/1 var(--sans)}.review-archive[open]>summary::after{content:'−'}.additional-testimonials{padding:0 0 48px}.additional-testimonials figure{padding-left:0;padding-right:0}.additional-testimonials blockquote{font-size:clamp(1.2rem,1.7vw,1.6rem)}
[hidden] { display:none!important; }
@media(max-width:1000px) {
  .packages-grid { grid-template-columns:1fr; }
  .package-card { padding:28px; }
  .faq-section,.policies-section { grid-template-columns:1fr; gap:24px; }
}
@media(max-width:650px) {
  .page-intro { padding-top:42px; }
  .testimonial-list { grid-template-columns:1fr; }
  .booking-choices,.booking-fields,.package-refresh,.payment-setup { grid-template-columns:1fr; }
  .returning-session-list article{grid-template-columns:1fr;gap:12px}.returning-session-list .action-button{width:100%}.returning-booking-dropdown>summary,.returning-booking-content{padding-left:22px;padding-right:22px}
  .booking-choice,.booking-details,.booking-review,.package-refresh { padding:24px; }
  #booking-summary { grid-template-columns:1fr; gap:6px; }
  #booking-summary dd { margin-bottom:14px; }
  .booking-actions { flex-direction:column; align-items:stretch; }
  .payment-setup { gap:24px; }
  .packages-section { padding-top:52px; padding-bottom:52px; }
}

.rs-topic{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:#6b552b;margin:0 0 20px}.rs-date{display:block;font-size:13px;color:#635c51;margin-top:6px}.testimonial-list figure{scroll-margin-top:30px}.testimonial-list summary{cursor:pointer;min-height:44px;padding:12px 0;color:#6b552b}.testimonial-list details p{font-size:16px;line-height:1.7}.home-stories{padding:70px 7%;background:var(--ink);color:var(--ivory)}.home-stories h2{font:400 clamp(34px,4vw,52px)/1.15 var(--serif)}.home-stories-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px;margin:36px 0}.home-stories figure{margin:0;border-top:1px solid #61594d;padding-top:26px}.home-stories blockquote{font:400 23px/1.45 var(--serif);margin:0 0 24px}.home-stories figcaption,.home-stories .text-link{color:#ddc18b}.home-stories .rs-date{color:#d2ccc0}.context-quote{padding:48px 7%;background:#eee9df;color:#171512}.context-quote figure{margin:0;max-width:780px}.context-quote blockquote{font:400 clamp(24px,3vw,36px)/1.4 var(--serif);margin:0 0 22px}.context-quote .text-link{display:inline-block;margin-top:18px}.supply-collection{padding:50px 7%;border-top:1px solid var(--line);scroll-margin-top:24px}.supply-collection h2,.supply-guidance h2{font:400 clamp(30px,3vw,44px)/1.2 var(--serif)}.supply-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:32px}.supply-card{padding:30px;border:1px solid var(--line);background:var(--paper)}.supply-card h3{font:400 26px/1.3 var(--serif);margin:0 0 20px}.supply-fit{color:#635c51;font-size:14px}.supply-image{margin:0 7% 40px}.supply-image img{width:100%;height:360px;object-fit:cover}.supply-image figcaption{font-size:13px;color:#635c51;margin-top:12px}.supply-guidance{padding:50px 7%;background:var(--ivory)}.collection-links{display:flex;flex-wrap:wrap;gap:12px 26px;margin-top:32px}.collection-links a{min-height:44px;padding:10px 0;border-bottom:1px solid var(--line)}@media(max-width:750px){.home-stories-grid,.supply-grid{grid-template-columns:1fr}.supply-image img{height:250px}}

.primary-logo{display:block;width:132px;height:132px;object-fit:contain}.wordmark{flex-shrink:0}.footer-brand .primary-logo{width:150px;height:150px}.site-header{padding-top:12px;padding-bottom:12px}.inquiry-form{max-width:950px;margin:0 auto 64px}.inquiry-form .action-button{margin-top:24px}footer{align-items:center}@media(max-width:650px){.primary-logo{width:100px;height:100px}.site-header nav{gap:12px 18px}.inquiry-form{margin:0 24px 48px}}

/* The Supply Edit */
.supply-intro-note{font-size:15px!important;color:#625b52}
.supplies-page .collection-links a{border-bottom:1px solid #c9b995;min-height:44px;text-decoration:none}
.supplies-page .supply-image img{height:300px}
.room-edits{padding:0 7% 60px}.room-edit{border-top:1px solid #cfc6b8;scroll-margin-top:24px}.room-edit:last-child{border-bottom:1px solid #cfc6b8}
.room-edit summary{display:flex;align-items:center;gap:24px;cursor:pointer;padding:30px 0;list-style:none;min-height:100px}.room-edit summary::-webkit-details-marker{display:none}
.room-edit summary::after{content:'+';font-size:30px;font-weight:300;margin-left:12px}.room-edit[open] summary::after{content:'−'}
.room-number{color:var(--brass);font-size:14px;min-width:24px}.room-title{display:block;font-family:Georgia,serif;font-size:clamp(24px,3vw,36px);line-height:1.2}.room-description{display:block;font-size:14px;color:#625b52;margin-top:9px}.room-count{margin-left:auto;white-space:nowrap;font-size:12px;color:#625b52}
.room-edit .supply-grid{margin-top:0;margin-bottom:36px}.supply-origin{text-transform:uppercase;letter-spacing:.13em;font-size:10px!important;color:#735a30!important;margin:0 0 18px}.supply-card{display:flex;flex-direction:column}.supply-card .text-link{margin-top:auto;padding-top:18px;min-height:44px}.supply-card h3{line-height:1.2}
.room-edit summary:focus-visible,.collection-links a:focus-visible{outline:2px solid var(--brass);outline-offset:5px}
@media(max-width:750px){.room-edit summary{gap:12px;padding:24px 0}.room-description{font-size:13px}.room-count{display:none}.room-edit summary::after{margin-left:auto}.supplies-page .supply-image img{height:220px}.room-edits{padding-bottom:36px}}

.site-header{flex-wrap:nowrap;padding-top:22px;padding-bottom:22px}

.client-pathways,.optional-consultation-intro,.booking-policy{padding:28px clamp(24px,7vw,108px) 48px}.pathway-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.pathway-grid article{border-top:1px solid var(--line);padding:24px 0;min-width:0}.pathway-grid h2,.optional-consultation-intro h2,.booking-policy h2{font:400 clamp(1.8rem,3vw,2.7rem)/1.2 var(--serif)}.pathway-grid p{line-height:1.65}.pathway-grid .action-button{width:100%;white-space:normal;min-height:48px}.action-button:disabled{opacity:.65;cursor:not-allowed}.booking-policy{background:#eee9df;line-height:1.7}.booking-policy a{display:inline-block;min-height:44px}.optional-consultation-intro{scroll-margin-top:24px}.returning-booking-content .action-button{margin-top:18px}input[type=file]{max-width:100%}[hidden]{display:none!important}@media(max-width:900px){.pathway-grid{grid-template-columns:1fr}.client-pathways{padding-bottom:20px}}@media(max-width:650px){.booking-fields{grid-template-columns:1fr}.inquiry-form{margin-left:24px;margin-right:24px;padding:20px}.booking-actions .action-button{width:100%}.returning-session-list article{grid-template-columns:1fr}.booking-policy{font-size:1rem}}

.returning-session-list .session-price{color:#40351f;font-weight:600}

.supply-affiliate-disclosure { max-width: 48rem; margin: 1.25rem 0; font-size: .9rem; line-height: 1.5; color: #4f4a43; }
