/* Calm, readable, practitioner-led. The current visual identity is retained. */
:root{--ink:#263536;--muted:#465252;--line:#d7ddda;--blue:#255d5b;--sans:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;--serif:"Yu Mincho","Hiragino Mincho ProN",serif}
html{scroll-behavior:auto}
body{color:#263536;background:#fff;font-family:var(--sans);font-weight:500}
body main p,body main li,body main dd{color:#465252;font-weight:500;line-height:1.9;letter-spacing:.01em}
body main h1,body main h2,body main h3{color:#263536}
body main :is(.section,.contact){padding-block:64px}
body main :is(.tinted,.topic-hero,.editorial-hero,.practitioner-hero,.hotel-hero,.practitioner-story,.hotel-practitioner,.bed-visit-policy,.hotel-lp-ready,.illustrated-concerns){background:#f5f4ef;background-image:none}
body .button,body .header-cta{background:#255d5b;color:#fff;border:1px solid #255d5b;box-shadow:none;font-family:var(--sans);font-weight:600;font-size:1rem;letter-spacing:.01em;border-radius:3px;min-height:50px;line-height:1.5}
body .button:hover,body .header-cta:hover{background:#184b49;color:#fff}
body .button:focus-visible,body a:focus-visible,body summary:focus-visible{outline:3px solid #a07833;outline-offset:4px}
body .header-cta{font-size:.875rem}.header .brand{color:#263536}
.header .brand .review-brand-logo{display:block;width:76px;height:76px;object-fit:contain;flex-shrink:0}
@media(max-width:760px){.header .brand .review-brand-logo{width:60px;height:60px}.header .brand{gap:8px}}
body .mobile-contact-options{background:#fffffff5;border-top:1px solid #d7ddda;box-shadow:0 -2px 12px #26353608}
body .mobile-contact-options .button{background:#255d5b;color:#fff;font-size:.875rem;letter-spacing:0;padding-inline:8px}
body .mobile-contact-options .mobile-phone{color:#255d5b;background:#fff}
body .cta-note,body .price-confirmation,body .review-note,body figcaption{font-size:.875rem;color:#53615d;line-height:1.75}
body .price-section .is-recommended{background:#eef3f1;border-color:#9ab7ad}
body .service-essentials .payment-visible{background:#f7f8f5;border-color:#d7ddda;border-left-color:#698b7e}
body .topic-choice-note,body .hotel-lp-nav{background:#f7f8f5;border-color:#d7ddda}
body .hotel-lp-permission{background:#2c504d}
body .hotel-lp-permission p{color:#fff}
body .hotel-lp-invitation{background:#f3f5f1;border-color:#729487}
body .hotel-lp-message-example,body .sharing-time-strip>span{background:#f0f3ef;color:#263536}
body .sharing-time-strip>span+span{background:#255d5b;color:#fff}
.review-text-link{display:inline-block;color:#255d5b;text-decoration:underline;text-underline-offset:5px;line-height:1.8;font-size:1rem;padding:8px 0}
.review-hero{max-width:1240px;margin:auto;padding:42px 36px 48px;display:grid;grid-template-columns:1.25fr 1fr;gap:64px;align-items:center}
.review-hero .review-kicker{font:500 .9375rem/1.7 var(--sans);color:#53615d;margin:0 0 18px}
.review-hero h1{font:500 clamp(2rem,3.1vw,3rem)/1.6 var(--serif);letter-spacing:.025em;margin:0 0 22px}
.review-hero .review-lead{font-size:1rem;line-height:1.9;margin:0 0 18px}
.review-qualification{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;font-size:.875rem;margin:0 0 16px}.review-qualification strong{font-size:1.125rem}.review-qualification span{font-size:.875rem}
.review-hero-photo{margin:0}.review-hero-photo img{width:100%;height:530px;object-fit:cover;object-position:center 42%;display:block;border-radius:3px}.review-hero-photo figcaption{margin-top:10px}
.review-price-note{padding:14px 0 14px 18px;border-left:2px solid #a08c63;margin:16px 0 22px}.review-price-note>span,.review-price-note small{display:block;font-size:.875rem;color:#53615d;line-height:1.75}.review-price-note strong{display:block;font-size:1.125rem;line-height:1.7;color:#263536;margin:3px 0}.review-price-note strong span{display:inline-block;white-space:nowrap}
.review-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.review-actions .button{padding:16px 22px}.review-reservation-note{font-size:.875rem!important;margin:12px 0 0}.review-age-note{font-size:.875rem!important;margin:6px 0 0;color:#59625d!important}
.home-page .review-profile{display:grid;grid-template-columns:180px 1fr;gap:44px;align-items:center;background:#f5f4ef}.review-profile>img{width:180px;height:210px;object-fit:cover;border-radius:2px}.review-profile h2{font-size:clamp(1.5rem,2.1vw,2rem);margin:0 0 16px}.review-profile p{max-width:46em;margin:0 0 12px}.review-profile .review-kicker{font-size:.9375rem}.review-background{font-size:.875rem!important}
.review-places h2,.review-voices h2,.review-flow h2{font-size:clamp(1.6rem,2.8vw,2.4rem);line-height:1.65;margin:0 0 28px}
.review-place-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.review-place-grid>a{display:grid;grid-template-columns:40% 60%;color:#263536;border:1px solid #d7ddda;text-decoration:none;background:#fff;overflow:hidden}.review-place-grid img{width:100%;height:100%;object-fit:cover;object-position:center}.review-place-grid>a>div{padding:24px}.review-place-grid h3{font-size:1.45rem;margin:4px 0 10px}.review-place-grid p{font-size:1rem;margin:0 0 12px}.review-place-grid strong{font-size:.9375rem;color:#255d5b;text-decoration:underline;text-underline-offset:4px}.review-place-grid a>div>span{font-size:.8125rem;color:#6b6d60;letter-spacing:.12em}.review-place-foot{display:flex;gap:26px;flex-wrap:wrap;margin:22px 0 0}.review-place-foot a{color:#255d5b;font-size:.9375rem;text-underline-offset:5px}
body .price-overview.review-total{background:#f6f7f3;border:1px solid #d7ddda;border-top:2px solid #a08c63;margin-top:24px;padding:24px}.review-total-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:18px 0;gap:18px}.review-total-grid>div{display:flex;flex-direction:column;gap:4px;border-right:1px solid #d7ddda}.review-total-grid>div:last-child{border:0}.review-total-grid strong{font-size:1.7rem;letter-spacing:0;color:#263536}.review-total-grid strong small{font-size:.875rem}.review-total-grid>div>span{font-size:.9375rem}.review-total-grid>div>span:last-child{font-size:.875rem}.review-cancel-note{font-size:.9375rem!important;padding:16px 0;border-bottom:1px solid #d7ddda}.review-nowrap{white-space:nowrap}
.review-voices{background:#f7f7f3}.review-quote-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.review-quote-grid article{padding:22px 0;border-top:1px solid #9baa9e;display:flex;flex-direction:column;align-items:flex-start}.review-quote-grid h3{font-size:1.15rem;margin:0 0 16px}.review-quote-grid blockquote{font:500 1rem/1.95 var(--sans);margin:0 0 16px;color:#354641}.review-quote-grid small{font-size:.875rem;color:#59625d;margin-top:auto}.review-quote-grid a{font-size:.9375rem}.review-handwritten{display:grid;grid-template-columns:230px 1fr;gap:30px;align-items:center;border-top:1px solid #d7ddda;padding-top:30px;margin-top:16px}.review-handwritten img{width:230px;height:190px;object-fit:cover;display:block}.review-handwritten h3{font-size:1.2rem;margin:0 0 12px}
body .concern-picture-grid a{display:block;background:#fff;border:1px solid #d7ddda}body .concern-picture-grid a>div{padding:24px}body .guidance-opener{display:block}body .inline-steps.illustrated-inline{gap:14px}body .inline-steps.illustrated-inline li{display:block;background:#f7f7f3;padding-top:25px}body .hotel-booking-steps li{grid-template-columns:1fr}body .illustrated-visit .visual-flow:not(.flow-compact){gap:18px}body .illustrated-visit .visual-flow:not(.flow-compact) li{background:#fff;border-color:#d7ddda}
.review-flow ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding:0;list-style:none;margin:0 0 20px}.review-flow li{border-top:1px solid #a08c63;padding-top:18px}.review-flow li>span{font:500 1.3rem/1.6 var(--serif);color:#837454}.review-flow h3{font-size:1.125rem;margin:10px 0}.review-flow p{font-size:1rem;margin:0}
.review-flow-link{margin:20px max(7%,calc((100vw - 1120px)/2));padding:20px 0;border-block:1px solid #d7ddda;display:flex;flex-wrap:wrap;gap:14px 28px}.review-flow-link strong{font-size:1rem}.review-flow-link a{color:#255d5b;text-underline-offset:4px}
body .hotel-landing .hotel-lp-hero{gap:40px;align-items:center;padding-block:38px;background:#f5f4ef}body.hotel-landing .hotel-lp-hero figure{order:0;align-self:center}body.hotel-landing .hotel-lp-hero figure img{aspect-ratio:4/3;max-height:470px;border-radius:3px}body.hotel-landing .hotel-lp-hero h1{font-size:clamp(1.8rem,3vw,2.8rem)}body.hotel-landing .hotel-lp-facts{margin-block:14px}body.hotel-landing .hotel-lp-hero{min-height:0}
body[data-page="home"] .topic-hero .review-host{font-size:.9375rem}.review-business dl{margin:24px 0}.review-business dl>div{display:grid;grid-template-columns:170px 1fr;gap:24px;border-top:1px solid #d7ddda;padding:18px 0}.review-business dt{font-weight:700}.review-business dd{margin:0}
@media(max-width:760px){
 body main :is(.section,.contact){padding-block:42px}body main p{font-size:1rem}body .breadcrumbs{padding-block:14px}body .breadcrumbs span[aria-current]{font-size:.875rem}body .header{min-height:64px}
 .review-hero{display:flex;flex-direction:column;padding:20px 22px 30px;gap:20px}.review-hero-photo{order:-1;width:100%}.review-hero-photo img{height:190px;object-fit:cover;object-position:center 28%}.review-hero-photo figcaption{display:none}.review-hero-copy{width:100%}.review-hero .review-kicker{font-size:.875rem;margin:0 0 8px}.review-hero h1{font-size:clamp(1.55rem,6.5vw,2rem);line-height:1.55;margin:0 0 12px;letter-spacing:0}.review-hero .review-lead{font-size:1rem;line-height:1.8;margin-bottom:12px}.review-qualification{font-size:.875rem!important;margin-bottom:10px;gap:3px 8px}.review-qualification strong{font-size:1rem}.review-price-note{margin:12px 0 16px;padding:8px 0 8px 13px}.review-price-note strong{font-size:1rem}.review-price-note strong span{display:inline-block}.review-actions{gap:6px 16px}.review-actions .button{width:100%;padding:14px}.review-actions .review-text-link{font-size:.9375rem;padding:5px 0}.review-reservation-note{margin-top:7px!important;font-size:.875rem!important}.review-age-note{font-size:.875rem!important}
 .home-page .review-profile{display:block}.review-profile>img{float:left;width:84px;height:104px;margin:0 18px 12px 0}.review-profile h2{font-size:1.4rem;line-height:1.7;margin:0 0 20px}.review-profile>div>p:not(.review-kicker){clear:both}.review-profile .review-kicker{font-size:.875rem;padding-top:6px;margin-bottom:8px}.review-profile .review-background{font-size:.875rem!important}
 .review-place-grid{grid-template-columns:1fr;gap:18px}.review-place-grid>a{grid-template-columns:32% 68%}.review-place-grid>a>div{padding:18px 16px}.review-place-grid h3{font-size:1.25rem}.review-place-grid p{font-size:.9375rem;line-height:1.8}.review-place-grid p br{display:none}.review-place-grid strong{font-size:.875rem}.review-place-foot{gap:14px}.review-places h2,.review-voices h2,.review-flow h2{font-size:1.5rem}
 body .price-overview.review-total{padding:18px 14px}.review-total-grid{gap:7px}.review-total-grid strong{font-size:1.25rem}.review-total-grid>div>span{font-size:.875rem}.review-total-grid>div>span:last-child{font-size:.8125rem}.review-total>p:first-child>strong{font-size:1rem}.review-total .price-confirmation{font-size:.875rem!important}
 .review-quote-grid{grid-template-columns:1fr;gap:4px}.review-quote-grid article{padding:20px 0}.review-quote-grid blockquote{margin-bottom:10px}.review-handwritten{grid-template-columns:100px 1fr;gap:18px;padding-top:24px}.review-handwritten img{width:100px;height:140px;object-fit:cover}.review-handwritten h3{font-size:1.1rem}.review-handwritten p{font-size:.9375rem}.review-handwritten a.review-text-link{font-size:.875rem}
 .review-flow ol{grid-template-columns:1fr;gap:18px}.review-flow li{display:grid;grid-template-columns:32px 1fr;gap:14px}.review-flow h3{margin:0 0 8px}.review-flow p{font-size:.9375rem}.review-flow-link{margin-block:12px}.review-business dl>div{grid-template-columns:1fr;gap:8px}
 body.hotel-landing .hotel-lp-hero{display:flex;flex-direction:column;gap:22px;padding:26px 22px}body.hotel-landing .hotel-lp-hero figure{order:1}body.hotel-landing .hotel-lp-hero figure img{height:200px;object-position:center}body.hotel-landing .hotel-lp-hero h1{font-size:1.65rem;margin:10px 0 16px}body.hotel-landing .hotel-lp-hero .hotel-lead .hotel-copy-unit{display:inline}body.hotel-landing .hotel-lp-hero .cta-note{font-size:.875rem}body.hotel-landing .hotel-lp-hero .review-price-note>span,body.hotel-landing .hotel-lp-hero .review-price-note small{font-size:.875rem}
 body .concern-picture-grid{grid-template-columns:1fr 1fr;gap:12px}body .concern-picture-grid a>div{padding:17px 12px}body .concern-picture-grid h3{font-size:1rem}.review-nowrap{white-space:normal}body .inline-steps.illustrated-inline{grid-template-columns:1fr}body .inline-steps.illustrated-inline li{padding:10px 12px 10px 32px}body .inline-steps.illustrated-inline li:before{top:23px;left:12px;background:none}
}
@media(max-width:370px){.review-total-grid{grid-template-columns:1fr;gap:0}.review-total-grid>div{display:grid;grid-template-columns:40px 1fr;gap:3px 12px;border-right:0;border-bottom:1px solid #d7ddda;padding:12px 0}.review-total-grid>div>span:last-child{grid-column:2}.review-total-grid strong{font-size:1.4rem}.review-handwritten{grid-template-columns:1fr}.review-handwritten img{width:100%;height:220px;object-fit:contain}.review-hero-photo img{height:165px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
html{scroll-behavior:auto!important}
.review-hero-photo img{object-position:center 12%}
@media(max-width:760px){.review-hero-photo img{object-position:center 10%}.review-profile h2{clear:both;padding-top:8px}.review-profile>img{margin-bottom:14px}}

/* Put the founder's reason ahead of booking information. */
.review-hero h1{font-size:clamp(1.8rem,2.7vw,2.6rem)}
.review-origin-link{margin:0 0 14px;font-weight:600}
.home-page .review-origin{grid-template-columns:260px 1fr;align-items:start}
.review-origin>figure{margin:0}.review-origin>figure img{display:block;width:100%;height:330px;object-fit:cover;border-radius:3px}.review-origin figcaption{margin-top:12px}
@media(max-width:760px){
 .review-hero h1{font-size:clamp(1.35rem,5.65vw,1.65rem);line-height:1.65}
 .review-hero .review-lead{line-height:1.8}
 .review-origin-link{margin-bottom:14px;font-size:.9375rem}
 .home-page .review-origin{display:flex;flex-direction:column;gap:24px}
 .review-origin>figure{order:1;width:100%;display:grid;grid-template-columns:120px 1fr;gap:18px;align-items:center}
 .review-origin>figure img{height:150px}.review-origin figcaption{margin:0}
 .review-origin h2{padding-top:0;margin-bottom:18px}
}

/* Keep visit photographs wide and separate from the description. */
.review-hotel-invitation{display:block;border-left:3px solid #a08c63;background:#f5f4ef;padding:12px 16px;margin-bottom:20px;text-decoration:none;color:#263536}
.review-hotel-invitation>span:first-child{display:block;font-size:1rem;line-height:1.7}
.review-hotel-invitation strong{color:#255d5b;font-size:1.125rem;font-weight:inherit;white-space:nowrap}
.review-hotel-invitation small{display:block;font-size:.875rem;line-height:1.8;margin-top:4px;color:#465252}
.review-hotel-invitation .review-hotel-detail{display:block;font-size:.875rem;color:#255d5b;text-decoration:underline;text-underline-offset:4px;line-height:1.8;margin-top:4px}
@media(max-width:760px){
 .review-hotel-invitation{padding:10px 12px;margin-bottom:14px}
 .review-hotel-invitation>span:first-child{font-size:.9375rem}
 .review-hotel-invitation strong{font-size:1rem}
}
.review-hero .review-time-title{font-size:clamp(1.9rem,2.8vw,2.65rem);line-height:1.7;margin-bottom:16px}
.review-time-word{display:inline-block;font-size:1.42em;color:#255d5b;font-weight:600;line-height:1.2;margin:0 .06em;border-bottom:3px solid #a08c63;padding-bottom:.04em}
.review-hero .review-time-benefit{font-size:1rem;line-height:1.9;color:#263536;margin:0 0 24px}
.review-time-origin{border-left:2px solid #d7ddda;padding-left:18px}
.review-hero .review-time-origin-heading{font-family:var(--serif);font-size:1.15rem;line-height:1.7;color:#263536;margin:0 0 10px}
.review-time-origin .review-lead{margin-bottom:8px}
@media(max-width:760px){
 .review-hero .review-time-title{font-size:clamp(1.55rem,6.5vw,1.9rem);line-height:1.65;margin-bottom:14px}
 .review-hero .review-time-benefit{font-size:1rem;margin-bottom:20px}
 .review-time-benefit br{display:none}
 .review-time-origin{padding-left:14px}
 .review-hero .review-time-origin-heading{font-size:1.125rem;margin-bottom:8px}
}
.review-place-grid>a{display:flex;flex-direction:column;min-width:0;border-radius:3px}
.review-place-grid img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:center}
.review-place-grid>a>div{flex:1;padding:24px 26px;display:flex;flex-direction:column;align-items:flex-start}
.review-place-grid strong{margin-top:auto;padding-top:4px}
@media(max-width:760px){
 .review-place-grid{gap:24px}
 .review-place-grid>a>div{padding:20px}
 .review-place-grid img{aspect-ratio:16/10}
}

/* Portrait-led home opening, matching the supplied mobile reference. */
.home-page .portrait-hero{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:56px;padding:36px 36px 56px;align-items:center}
.portrait-hero-visual{position:relative;isolation:isolate;min-width:0;display:grid;border-radius:3px;overflow:hidden}
.portrait-hero-visual>img{grid-area:1/1;display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:contain}
.portrait-hero-title{grid-area:1/1;align-self:end;z-index:1;padding:76px 28px 26px;background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.91) 40%,#fff 100%)}
.home-page .portrait-hero-title>p{font-family:var(--serif);font-size:.9375rem;line-height:1.8;color:#263d48;margin:0 0 12px;letter-spacing:.025em}
.home-page .portrait-hero-title h1{font-family:var(--serif);font-size:clamp(1.65rem,2.5vw,2.15rem);line-height:1.85;letter-spacing:.02em;margin:0;color:#263d48}
.portrait-hero-title h1 em{font-style:normal;color:inherit;background:linear-gradient(transparent 84%,#b9deef 84%,#b9deef 96%,transparent 96%);box-decoration-break:clone;-webkit-box-decoration-break:clone}
.portrait-hero-info{min-width:0}
.portrait-practitioner{background:#f6f7f7;border-top:3px solid #b9deef;padding:16px 20px 18px;margin-bottom:24px}
.home-page .portrait-practitioner p{margin:0;color:#263d48;font-size:.9375rem;line-height:1.8}
.portrait-practitioner p+p{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 14px;margin-top:4px}
.portrait-practitioner strong{font:500 1.4rem/1.6 var(--serif);letter-spacing:.1em}.portrait-practitioner span{font-size:.875rem}
.portrait-hero .review-actions{display:grid;gap:12px}.portrait-hero .review-actions .button{background:#bddfec;color:#243f4b;border-color:#a6cbdc;width:100%;font-weight:500}.portrait-hero .review-actions .button:hover{background:#a8d4e6}.portrait-hero .review-actions .review-text-link{justify-self:start}
.home-page .portrait-benefit{font-size:1rem;line-height:1.9;margin:24px 0;color:#465252}
/* Group the hero guidance with space and a quiet surface, without divider rules. */
.home-page .portrait-details{display:grid;gap:24px;margin-top:24px}
.home-page .portrait-details .portrait-benefit{margin:0;line-height:1.9}
.portrait-details .portrait-benefit>span,.portrait-hotel-guide p>span{display:inline-block;max-width:100%}
.portrait-details .portrait-benefit .portrait-benefit-after{display:block;margin-top:4px}
.portrait-hotel-guide{padding:18px 20px;background:#f3f7f8;border-radius:6px}
.home-page .portrait-hotel-guide p{margin:0 0 12px;font-size:.9375rem;line-height:1.85;color:#465252}
.home-page .portrait-hero .review-actions .review-text-link,.home-page .portrait-info-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;max-width:100%;padding:9px 16px;border:1px solid #a6bcbe;border-radius:4px;background:#fff;color:#255d5b;font-size:.875rem;line-height:1.6;text-decoration:none;text-align:center}
.home-page .portrait-hero .review-actions .review-text-link{justify-self:center}
.home-page .portrait-hero .review-actions .review-text-link:hover,.home-page .portrait-info-link:hover{background:#eaf2f3;border-color:#255d5b}
.home-page .portrait-booking-guide .review-reservation-note{margin:0!important;line-height:1.85}
.home-page .portrait-booking-guide .review-age-note{margin:10px 0 0;line-height:1.85}
.portrait-booking-guide .review-age-note span{display:inline-block}
@media(max-width:760px){.home-page .portrait-details{gap:22px;margin-top:24px}.portrait-hotel-guide{padding:16px}.home-page .portrait-info-link{width:100%}}

.home-page .portrait-origin{display:grid;grid-template-columns:240px minmax(0,1fr);gap:24px 48px;background:#f5f8f9;align-items:start}
.portrait-origin-heading{grid-column:1/-1}.portrait-origin-heading h2{line-height:1.75!important;letter-spacing:.025em}
.home-page .portrait-origin>figure{margin:0;display:block;order:0;width:100%}.portrait-origin>figure img{height:300px}.portrait-origin figcaption{margin-top:12px}
.home-page .portrait-origin-copy>p{margin:0 0 20px;max-width:40em;font-size:1rem;line-height:1.9}
.home-page .portrait-origin-copy .portrait-origin-quote{font:500 1.25rem/1.8 var(--serif);color:#263d48;border-left:3px solid #b9deef;padding:8px 0 8px 18px;margin-block:24px}
.portrait-origin-copy strong{font-weight:600;color:#263d48;background:linear-gradient(transparent 72%,#d8eaf1 72%)}
.portrait-origin-copy .review-text-link{margin-bottom:20px}.home-page .portrait-origin-copy .review-background{font-size:.875rem;line-height:1.8;color:#53615d;margin:0}
@media(max-width:760px){
 body:has(.portrait-hero) .header{padding:14px 5%;min-height:76px;gap:8px;flex-wrap:nowrap}
 body:has(.portrait-hero) .header .brand{font-size:clamp(.875rem,3.7vw,1rem);letter-spacing:.025em;gap:5px}
 body:has(.portrait-hero) .header .review-brand-logo{width:42px;height:42px}
 body:has(.portrait-hero) .mobile-nav summary{padding:10px 12px;font-size:.875rem;min-height:44px}
 .home-page .portrait-hero{display:block;padding:20px 6% 36px}
 .portrait-hero-title{padding:64px 18px 22px}
 .home-page .portrait-hero-title>p{font-size:.875rem;line-height:1.75;letter-spacing:0;margin-bottom:10px}
 .home-page .portrait-hero-title h1{font-size:clamp(1.25rem,5.5vw,1.7rem);line-height:1.8;letter-spacing:.015em}
 .portrait-practitioner{padding:12px 14px 14px;margin-bottom:18px}
 .home-page .portrait-practitioner p{font-size:.875rem}.portrait-practitioner strong{font-size:1.25rem}
 .portrait-hero .review-actions{gap:8px}.portrait-hero .review-actions .button{min-height:52px;padding:14px}
 .home-page .portrait-benefit{margin:20px 0;font-size:1rem}.portrait-benefit br{display:none}
 .home-page .portrait-origin{display:grid;grid-template-columns:1fr;gap:22px;padding-inline:6%}
 .portrait-origin-heading{grid-column:auto}.portrait-origin-heading h2{font-size:clamp(1.25rem,5.2vw,1.5rem);margin:0;padding:0}
 .home-page .portrait-origin>figure{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:center;gap:20px;order:0}
 .portrait-origin>figure img{height:140px}.portrait-origin figcaption{margin:0;font-size:.9375rem;line-height:1.9}
 .home-page .portrait-origin-copy .portrait-origin-quote{font-size:1.125rem;margin-block:22px;padding-left:14px}
}
@media(max-width:350px){body:has(.portrait-hero) .header{padding-inline:4%}body:has(.portrait-hero) .header .review-brand-logo{width:32px;height:32px}.portrait-hero-title{padding-inline:14px}.home-page .portrait-hero-title>p{font-size:.875rem}}
@media(max-width:370px){
 body:has(.portrait-hero) .header{padding-inline:4%;gap:6px}
 body:has(.portrait-hero) .header .brand{font-size:.875rem;letter-spacing:0;gap:4px;white-space:nowrap}
 body:has(.portrait-hero) .header .review-brand-logo{width:28px;height:28px}
 body:has(.portrait-hero) .mobile-nav summary{padding-inline:8px;gap:5px;letter-spacing:0}
 body:has(.portrait-hero) .mobile-nav .menu-icon{width:18px}
}
@media(min-width:761px){.portrait-hero-visual{width:100%;max-width:400px;justify-self:center}.home-page .portrait-hero-title h1{font-size:clamp(1.5rem,2.2vw,1.75rem)}.portrait-hero-title{padding-inline:22px}}

.portrait-hero-title h1 .portrait-time-word{font-size:1.3em;font-weight:600;color:#255d5b;line-height:1.2;padding-bottom:.06em}

/* Place the home service message directly below the business name. */
.header .brand .home-brand-tagline{display:block;font-family:var(--sans);font-size:.8125rem;font-weight:400;line-height:1.6;letter-spacing:0;color:#52626a;margin-top:5px;white-space:normal}
.home-brand-tagline>span{display:inline-block}
@media(max-width:760px){.header .brand .home-brand-tagline{display:block;font-size:.75rem;line-height:1.5;margin-top:4px}.home-brand-tagline>span{display:block}}

/* Keep the header message on one line and the founder's words on the photo. */
.header .brand .home-brand-tagline{white-space:nowrap}
.portrait-hero-origin{border-top:1px solid #bfd4dc;margin-top:20px;padding-top:16px}
.home-page .portrait-hero-origin .portrait-hero-origin-label{font:400 .875rem/1.6 var(--sans);color:#52626a;letter-spacing:.02em;margin:0 0 8px}
.home-page .portrait-hero-origin .portrait-hero-origin-message{font:500 1.25rem/1.8 var(--serif);color:#263d48;letter-spacing:.02em;margin:0}
.portrait-hero-title{background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.94) 28%,#fff 100%)}
@media(max-width:760px){
 .home-page .portrait-hero-origin .portrait-hero-origin-message{font-size:1.125rem;line-height:1.8}
 .portrait-hero-origin{margin-top:18px;padding-top:14px}
 body:has(.portrait-hero) .header .review-brand-logo{width:32px;height:32px}
}
@media(max-width:480px){
 body:has(.portrait-hero) .header{padding-inline:4%;gap:6px}
 body:has(.portrait-hero) .header .brand{gap:4px}
 body:has(.portrait-hero) .mobile-nav .menu-label{display:none}
 body:has(.portrait-hero) .mobile-nav summary{width:44px;height:44px;padding:10px;justify-content:center}
 body:has(.portrait-hero) .mobile-nav .menu-icon{width:22px}
}
@media(max-width:350px){
 body:has(.portrait-hero) .header{padding-inline:3%;gap:4px}
 body:has(.portrait-hero) .header .brand{gap:3px}
 body:has(.portrait-hero) .header .review-brand-logo{width:20px;height:20px}
 .home-page .portrait-hero-origin .portrait-hero-origin-message{font-size:1.0625rem}
}

/* Let the founder's family photograph lead the story. */
.home-page .portrait-origin.family-story{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,4vw,56px);align-items:center;padding-block:clamp(36px,4vw,56px);background:#f3f7f8}
.home-page .family-story>figure.family-story-photo{position:relative;display:block;width:100%;max-width:380px;justify-self:center;margin:0;overflow:hidden;border-radius:4px;isolation:isolate}
.home-page .family-story-photo>img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 65%;border-radius:0}
.home-page .family-story .family-story-title{position:absolute;inset:0 0 auto;margin:0;padding:24px 22px;padding-bottom:42px;background:linear-gradient(180deg,rgba(239,248,252,.96) 0%,rgba(239,248,252,.80) 58%,rgba(239,248,252,0) 100%);color:#203e4c}
.home-page .family-story-title .review-kicker{font:500 .8125rem/1.6 var(--sans);letter-spacing:.08em;margin:0 0 12px;color:#365869}
.home-page .family-story-title h2{font:500 clamp(1.2rem,1.8vw,1.5rem)/1.8 var(--serif);letter-spacing:.025em;margin:0;padding:0;color:#203e4c}
.home-page .family-story .portrait-origin-copy{min-width:0}
.home-page .family-story .family-story-opening{font:500 clamp(1.25rem,1.8vw,1.6rem)/1.9 var(--serif);color:#263d48;margin:0 0 28px}
.home-page .family-story .portrait-origin-copy>p{line-height:2}
.home-page .family-story .portrait-origin-quote{border-left-color:#91b8c9}
@media(max-width:760px){
 .home-page .portrait-origin.family-story{grid-template-columns:minmax(0,1fr);gap:24px;padding:28px 6% 36px}
 .home-page .family-story>figure.family-story-photo{display:block;max-width:280px;justify-self:center}
 .home-page .family-story .family-story-title{padding:18px 16px 34px}
 .home-page .family-story-title h2{font-size:1.125rem;line-height:1.8}
 .home-page .family-story-title .review-kicker{font-size:.6875rem;margin-bottom:8px}
 .home-page .family-story .portrait-origin-copy{width:100%;max-width:520px;justify-self:center}
 .home-page .family-story .family-story-opening{font-size:1.35rem;margin-bottom:22px}
}
