/* Facing-profile identity. Final composition layer; shared functional styles
   remain in style.css and components.css. */
.contact-page .privacy-reminder { background:#f2e4e0; }
.availability-notice { display:flex; align-items:flex-start; gap:12px; max-width:760px; margin:22px 0 30px; padding:16px 18px; border:1px solid #dcc3be; border-left:3px solid #5f1a22; background:#f2e4e0; color:#5f1a22; font-size:.94rem; line-height:1.6; }
.availability-notice > span { flex:0 0 8px; height:8px; margin-top:9px; border-radius:50%; background:#5f1a22; box-shadow:0 0 0 4px rgba(95,26,34,.08); }
.availability-notice strong { font-weight:600; }
.hero-copy .availability-notice { margin:20px 0 24px; }
.endcap .availability-notice { background:#f2e4e0; color:#5f1a22; margin-top:0; }
.footer-invitation .footer-availability { margin-top:20px; max-width:40ch; color:#eccfc7; font:500 .82rem/1.7 DM,Arial,sans-serif; }
@media(max-width:600px) { .availability-notice { padding:14px 16px; font-size:.84rem; } }
.availability-wrap { margin-bottom:36px; }
.availability-bar { position:relative; isolation:isolate; overflow:hidden; display:flex; align-items:center; justify-content:space-between; gap:28px; padding:24px 30px; margin:36px 0 58px; color:#f7f3ee; background:linear-gradient(110deg,#4e151c,#702b34 60%,#5f1a22); border:1px solid #87434b; box-shadow:0 10px 28px rgba(95,26,34,.12); }
.availability-bar::before { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; background:linear-gradient(105deg,transparent 35%,rgba(247,243,238,.13) 50%,transparent 65%); transform:translateX(-100%); animation:availability-sweep 11s ease-in-out infinite; }
.availability-bar-heading { flex:0 0 auto; }
.availability-bar .eyebrow { display:block; margin:0 0 4px; color:#eccfc7; font-size:.58rem; }
.availability-bar h2 { margin:0; font:500 clamp(1.8rem,2.7vw,2.5rem)/1.05 Editorial,Georgia,serif; color:#f7f3ee; }
.availability-bar ul { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:18px 26px; padding:0; margin:0; list-style:none; }
.availability-bar li { display:flex; align-items:center; gap:9px; font-size:.79rem; font-weight:500; }
.availability-check { flex:0 0 23px; width:23px; height:23px; fill:none; stroke:#eccfc7; stroke-width:1.3; animation:availability-glow 4.5s ease-in-out infinite; }
.availability-bar li:nth-child(2) .availability-check { animation-delay:.6s; }
.availability-bar li:nth-child(3) .availability-check { animation-delay:1.2s; }
.availability-bar-link { display:flex; align-items:center; gap:14px; flex:0 0 auto; min-height:44px; color:#f7f3ee; border-bottom:1px solid #c9b8a8; font-size:.78rem; font-weight:600; }
.availability-bar-link svg { width:20px; height:20px; }
.availability-bar-link:hover { color:#eccfc7; }
@keyframes availability-sweep { 0%,35% { transform:translateX(-100%); } 80%,100% { transform:translateX(100%); } }
@keyframes availability-glow { 0%,100% { opacity:.72; } 50% { opacity:1; } }
html[data-background-paused="true"] .availability-bar::before,html[data-background-paused="true"] .availability-check { animation-play-state:paused; }
html[data-motion="reduce"] .availability-bar::before,html[data-motion="reduce"] .availability-check { animation:none; }
@media(prefers-reduced-motion:reduce) {html:not([data-motion="full"]) .availability-bar::before,html:not([data-motion="full"]) .availability-check { animation:none; } }
@media(max-width:1000px) { .availability-bar { flex-wrap:wrap; gap:22px; } .availability-bar ul { order:3; flex:1 0 100%; justify-content:flex-start; } }
@media(max-width:600px) { .availability-bar { padding:22px; gap:18px; margin-block:28px 40px; } .availability-bar ul { display:grid; gap:13px; } .availability-bar li { font-size:.8rem; } .availability-bar-link { font-size:.72rem; gap:8px; } }
.site-header { border-bottom:1px solid var(--line); }
.site-header.compact { box-shadow:none; }
.nav-wrap { height:108px; }
.brand-wordmark { width:310px; }
.desktop-nav > a { font-size:.78rem; }
.desktop-nav .nav-cta { background:none; color:var(--ink); border:1px solid var(--line); padding:12px 18px; }
.desktop-nav .nav-cta:hover { border-color:var(--accent); }
.nav-indicator { height:2px; }
.eyebrow { font-weight:600; letter-spacing:.16em; font-size:.66rem; }
.hero { grid-template-columns:1.13fr .87fr; gap:80px; padding-block:65px 85px; align-items:center; }
.hero h1 { font-size:clamp(3.2rem,4.9vw,4.65rem); line-height:1.02; letter-spacing:-.03em; max-width:16ch; margin-bottom:28px; }
.hero-description { font-size:.91rem; line-height:1.8; max-width:57ch; }
.hero .button { max-width:460px; font-size:.8rem; min-height:60px; padding:16px 20px; justify-content:space-between; }
.hero-art { border-radius:0; background:var(--stone); align-self:center; position:relative; }
.hero-art > .portrait-photo { border-radius:0; aspect-ratio:.84; max-height:none; object-position:50% 14%; }
.hero-art figcaption { background:var(--stone); padding:20px 24px; min-height:96px; }
.hero-art figcaption strong { font-family:Editorial,Georgia,serif; font-weight:600; font-size:1.55rem; letter-spacing:0; }
.hero-art figcaption .monogram { width:46px; height:auto; color:var(--ink); }
.hero-notes { border:0; padding-top:0; gap:20px; margin-top:26px; font-size:.65rem; color:var(--muted); }
.hero-notes span:before { border-radius:0; width:4px; height:4px; background:var(--accent); }
.hero-about-link { font-weight:500; margin-top:20px; }
.statement { background:var(--surface); }
.statement-grid { grid-template-columns:1.25fr 1fr; gap:90px; margin-bottom:60px; }
.statement-grid > p { font-size:.96rem; }
.life-stages { gap:60px; border-top:1px solid #c8beb3; padding-top:35px; }
.life-stage { background:none; color:var(--ink); border-radius:0; padding:0; display:block; }
.life-stage h3 { font-size:2.2rem; max-width:24ch; }
.life-stage p,.stage-adult-copy p { font-size:.91rem; color:var(--muted); }
.stage-adult-copy { padding:0; }
.stage-adults .eyebrow,.stage-adults .text-link,.stage-children .eyebrow { color:var(--accent); }
.life-stage .text-link { font-size:.8rem; }
.services-preview .section-heading { margin-bottom:55px; }
.services-preview .section-heading > a { color:var(--mineral); }
.service-grid { grid-template-columns:1fr 1fr; gap:0 60px; }
.service-card,.service-card:last-child { display:grid; grid-template-columns:30px 1fr; gap:20px; border:0; border-top:1px solid #b48f8a; border-radius:0; padding:32px 0 36px; background:none; grid-column:auto; }
.service-card:hover { background:none; transform:none; }
.service-card h3 { font-size:2rem; font-weight:500; letter-spacing:-.015em; max-width:23ch; margin-bottom:14px; transition:color var(--fast); }
.service-card:hover h3 { color:var(--mineral); }
.service-card p { color:#eadbd2; font-size:.86rem; max-width:45ch; margin-bottom:22px; }
.service-no { font:500 .69rem/1.5 DM,Arial,sans-serif; color:var(--mineral); margin-top:9px; }
.card-link { font-size:.7rem; font-weight:500; color:var(--mineral); }
.meet-grid { gap:95px; grid-template-columns:.85fr 1.15fr; }
.meet-grid > .portrait-photo,.about-profile > .portrait-photo { border-radius:0; }
.meet h2 { font-size:clamp(2.8rem,4.2vw,4rem); }
.meet-priorities { gap:16px; }
.meet-priorities span { background:none; border:0; border-radius:0; padding:0; font-size:.68rem; color:var(--muted); }
.formats { background:var(--surface); }
.format-tabs { border-radius:0; padding:0; background:transparent; border-bottom:1px solid var(--line); gap:0; }
.format-tabs a { border-radius:0; padding:14px 18px; font-weight:500; font-size:.8rem; }
.format-tabs a[aria-selected="true"] { box-shadow:none; background:none; border-bottom:2px solid var(--accent); }
.format-art > div { border-radius:0; }
.journey-selector > span { border-radius:0; border:0; border-bottom:1px solid var(--line); width:100%; justify-content:start; background:none; height:38px; margin-bottom:20px; }
.journey-selector[aria-pressed="true"] > span { color:var(--accent); background:none; border-color:var(--accent); }
.journey-selector h3 { font-size:1.8rem; font-weight:600; letter-spacing:-.01em; }
.journey-context { border-radius:0; background:var(--surface); }
.endcap { background:var(--mineral); padding-block:80px; }
.endcap .button { font-size:.78rem; }
.footer-invitation > p { font-family:Editorial,Georgia,serif; font-weight:500; font-size:2.8rem; letter-spacing:-.015em; }
.footer-brand .brand-wordmark { width:275px; }
.footer-location,.footer-contacts > span { color:#eadbd2; }
.footer-top { grid-template-columns:1fr 1fr 1fr; gap:65px; }
.experience-list > div,.service-index,.service-index a,.service-visual,.service-detail,.rate-card,.faq-list details,.form-panel,.contact-aside,.success-panel,.inquiry-error,.provider-card { border-radius:0; }
.experience-list > div { background:var(--surface); border-top:2px solid var(--accent); }
.experience-list h3 { font:500 1rem/1.4 DM,Arial,sans-serif; letter-spacing:0; }
.service-index { background:var(--surface); }
.about-care-points h3 { font:600 1rem/1.5 DM,Arial,sans-serif; letter-spacing:0; }
.philosophy { background:var(--accent); }
.philosophy .eyebrow { color:var(--paper); }
.mobile-menu-note { font-family:Editorial,Georgia,serif; font-weight:600; font-size:2.7rem; letter-spacing:-.02em; }
.button { box-shadow:none; }
.button:hover { box-shadow:none; }
@media(min-width:1600px){.hero h1{font-size:5.1rem}.hero-art>.portrait-photo{aspect-ratio:.9}}
@media(max-width:1100px){.hero{gap:45px}.brand-wordmark{width:280px}.nav-wrap{gap:20px}.desktop-nav{gap:15px}.desktop-nav>a{font-size:.72rem}.hero h1{font-size:clamp(3rem,5.2vw,4rem)}.footer-top{gap:30px}.footer-brand .brand-wordmark{width:245px}}
@media(max-width:900px){.hero{grid-template-columns:1fr 1fr;gap:35px;padding-top:50px}.hero h1{font-size:3.2rem;max-width:16ch}.hero-description{font-size:.84rem}.hero-art>.portrait-photo{aspect-ratio:.7}.hero-art figcaption{padding:16px;gap:12px}.hero-art figcaption>span:not(.hero-art-icon){font-size:.59rem}.hero-art figcaption strong{font-size:1.35rem}.hero .button{font-size:.73rem;padding:15px}.statement-grid{gap:40px}.life-stages{gap:40px}.meet-grid{gap:50px}.footer-top{grid-template-columns:1fr 1fr}.footer-contacts{grid-column:1/-1}.service-grid{gap:0 35px}.service-card,.service-card:last-child{grid-template-columns:23px 1fr;gap:12px}.service-card h3{font-size:1.8rem}}
@media(max-width:700px){.nav-wrap{height:88px;width:calc(100% - 40px)}.brand-wordmark{width:245px}.hero{grid-template-columns:1fr;gap:38px;padding-block:42px 60px}.hero h1{font-size:clamp(2.9rem,10.6vw,4.5rem);line-height:1.04;max-width:18ch}.hero .eyebrow{font-size:.58rem;letter-spacing:.1em}.hero-description{font-size:.87rem;max-width:54ch}.hero .button{max-width:100%;font-size:.76rem;gap:20px}.hero-art{width:100%;max-width:520px;margin:0 auto}.hero-art>.portrait-photo{aspect-ratio:.94;object-position:50% 10%}.hero-art figcaption{padding:19px 22px}.hero-art figcaption strong{font-size:1.5rem}.hero-art figcaption>span:not(.hero-art-icon){font-size:.66rem}.hero-notes{font-size:.61rem;gap:18px}.hero-about-link{font-size:.72rem}.statement-grid{grid-template-columns:1fr;gap:25px;margin-bottom:38px}.statement-grid>p{font-size:.92rem}.life-stages{grid-template-columns:1fr;gap:38px;padding-top:30px}.life-stage+.life-stage{border-top:1px solid #c8beb3;padding-top:30px}.life-stage h3{font-size:2rem}.service-grid{grid-template-columns:1fr}.service-card,.service-card:last-child{padding:28px 0;grid-template-columns:25px 1fr;gap:16px}.service-card h3{font-size:2rem;max-width:25ch}.service-card p{font-size:.85rem}.meet-grid{grid-template-columns:1fr;gap:35px}.meet-grid>.portrait-photo{max-height:540px;aspect-ratio:1;object-position:50% 10%}.formats-grid{gap:35px}.journey-context{padding:22px}.journey-selector>span{width:40px;border-bottom:1px solid var(--line);height:40px;margin:0}.journey-selector h3{font-size:1.65rem}.journey-list>li>p{margin-left:58px}.footer-top{grid-template-columns:1fr;gap:40px}.footer-contacts{grid-column:auto}.footer-brand .brand-wordmark{width:280px}.section-heading{gap:25px}.endcap{padding-block:60px}.endcap .button{max-width:100%;font-size:.76rem;gap:15px}.page-intro h1{font-size:clamp(3rem,10vw,4.5rem)}}
@media(max-width:359px){.brand-wordmark{width:210px}.nav-wrap{width:calc(100% - 32px);gap:12px}.hero h1{font-size:2.75rem;letter-spacing:-.035em}.hero .button,.endcap .button{font-size:.7rem;padding:14px;gap:10px}.hero-notes{font-size:.54rem;gap:12px}.hero-art figcaption{padding:16px}.hero-art figcaption>span:not(.hero-art-icon){font-size:.6rem}.hero-art figcaption strong{font-size:1.3rem}.footer-brand .brand-wordmark{width:260px}}

.hero h1 .no-break{white-space:nowrap}
