@charset "UTF-8";
/* Editorial visual layer. All imagery and base styles are bundled locally. */
:root{--brand:#953d63;--brand-dark:#50293d;--gold:#aa8751;--pale:#eee2e8;--soft:#f9f5f6;--ink:#342c30;--muted:#6f6269;--line:#e0d5db}
body{line-height:1.95}.header-inner{padding-block:20px}.brand img{width:235px}.brand span{font-size:.8rem;letter-spacing:.06em}.header-contact p{font-size:.8rem}.header-inquiry{border-color:#bca6b1}.button{min-height:56px;padding:15px 28px;border-radius:2px;gap:24px;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.nav-inner a{padding-block:13px}
.page-heading{position:relative;isolation:isolate;background:var(--brand-dark);color:white;min-height:690px;display:flex;align-items:center;overflow:hidden;padding:0;text-align:left;border:0}.hero-photo{position:absolute;inset:0 0 0 22%;z-index:-3}.hero-photo img{height:100%;width:100%;object-fit:cover;object-position:54% center}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#432236 0%,#432236f7 24%,#432236c2 43%,#4322361a 70%,#43223605 100%)}.hero-content{position:relative;padding-block:55px 70px}.hero-copy{max-width:510px}.hero-copy .eyebrow{color:#f0d6e3;font-size:.8rem;letter-spacing:.08em}.hero-message{font-family:var(--serif);font-size:clamp(2rem,3.4vw,3rem);letter-spacing:.1em;line-height:1.8;margin:22px 0 28px}.hero-copy h1{font-family:var(--serif);padding-left:20px;border-left:1px solid #ceb07a;color:white;margin:0;letter-spacing:0}.hero-copy h1>span:first-child{font-family:"Yu Gothic",Meiryo,sans-serif;font-size:.875rem;font-weight:400;letter-spacing:.08em;margin-bottom:10px;display:block}.hero-copy h1 .facility-prefix{font-size:1.15rem;letter-spacing:.08em;display:inline-block;vertical-align:middle;margin:0 18px 0 0}.hero-copy h1 strong{font-size:3.4rem;line-height:1.4;font-weight:400;letter-spacing:.14em;vertical-align:middle}.hero-description{font-size:.9375rem;margin-top:24px;color:#f3e8ee}.hero-button{margin-top:26px;background:#fff;color:var(--brand-dark);border-color:#fff;min-width:220px;font-size:.9375rem}.hero-button:hover{background:#f0e2e9;color:var(--brand-dark)}.hero-seal{position:absolute;right:2%;bottom:65px;width:150px;height:150px;border:1px solid #e3ca9a;border-radius:50%;background:#512b40ed;box-shadow:0 0 0 7px #512b4060;display:flex;flex-direction:column;justify-content:center;align-items:center;line-height:1.8}.hero-seal span{font-size:.875rem;letter-spacing:.1em}.hero-seal strong{font-family:var(--serif);font-size:2rem;color:#f5dfb5}.page-heading .hero-photo-note{position:absolute;bottom:14px;right:24px;font-size:.75rem;background:#30232bd9;color:white;padding:3px 12px}
.breadcrumb{padding-block:22px;font-size:.8rem}.intro{padding-top:45px}.intro-heading{position:relative;padding:0 0 0 28px;border-left:1px solid var(--gold);margin:0 0 45px;display:grid;grid-template-columns:1fr 1fr;column-gap:60px;align-items:center}.section-kicker{font-family:Georgia,serif;font-size:.875rem;letter-spacing:.2em;color:var(--brand);margin-bottom:18px;line-height:1.8}.section-kicker span{display:inline-block;font-family:"Yu Gothic",Meiryo,sans-serif;font-size:.8rem;letter-spacing:.06em;color:var(--muted);margin-left:18px}.intro-heading .section-kicker{grid-column:1/-1}.intro-heading h2{font-family:var(--serif);font-size:2.25rem;letter-spacing:.07em;line-height:1.8}.intro-heading>p:last-child{font-size:.9375rem;color:var(--muted);line-height:2.3}.gallery-main{padding:0 22px 22px 0;background:transparent;isolation:isolate}.gallery-main::before{content:"";position:absolute;inset:32px 0 0 40px;background:var(--pale);z-index:-1}.gallery-main figcaption{padding:14px 20px;background:#fff;border:0;border-bottom:1px solid var(--line);min-height:52px}.gallery-thumbs{gap:18px}.gallery-thumbs a{border:0;border-bottom:3px solid transparent;border-radius:0;padding:0 0 6px;color:var(--muted)}.gallery-thumbs a[aria-current=true]{border-color:var(--brand);color:var(--brand-dark)}.gallery-thumbs img{filter:saturate(.75);transition:filter .2s}.gallery-thumbs a:hover img,.gallery-thumbs a[aria-current=true] img{filter:saturate(1)}.gallery-thumbs span{padding-top:10px;font-size:.8rem}.intro-copy{max-width:890px;margin:40px auto;line-height:2.2}.quick-facts{background:var(--soft);padding:30px 0;border-color:var(--pale);margin:40px 0}.quick-facts>div+div{border-color:#d9c3ce}.quick-facts dt{letter-spacing:.08em}.quick-facts dd span{font-size:2.5rem}
.contact-banner{background:var(--brand-dark);padding:30px 42px;border-left:5px solid var(--gold);border-radius:0;box-shadow:0 12px 30px #50293d12}.contact-banner h2{font-family:var(--serif);font-size:1.35rem}.contact-banner p{font-size:.875rem;color:#efdee7}.contact-banner>a span{font-size:.8rem;letter-spacing:.06em}.contact-banner strong{font-size:2.5rem}.page-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:25px 0 100px;padding:0;gap:0}.page-nav a{display:flex;justify-content:center;align-items:center;gap:15px;padding:20px 8px;text-decoration:none;font-size:.875rem}.page-nav a::after{content:"↓";color:var(--gold)}.page-nav a:hover{background:var(--soft)}
.section{margin-bottom:110px}.section-title{background:transparent;color:var(--ink);font-size:clamp(1.6rem,3vw,2.1rem);letter-spacing:.05em;padding:0 0 24px;border-bottom:1px solid var(--line);margin-bottom:45px;position:relative;text-align:left}.section-title::after{content:"";position:absolute;left:0;bottom:-1px;width:75px;height:2px;background:var(--brand)}.feature{grid-template-columns:1.15fr 1fr;gap:0;margin-bottom:65px}.feature picture{position:relative;z-index:1}.feature img{aspect-ratio:1.38;box-shadow:0 15px 40px #42273a12}.feature>div{background:var(--soft);margin-left:-35px;padding:38px 35px 40px 72px;position:relative}.feature-reverse{grid-template-columns:1fr 1.15fr}.feature-reverse>div{margin-left:0;margin-right:-35px;padding:38px 72px 40px 35px}.feature-number{font-family:Georgia,serif;font-size:3.4rem;line-height:1;color:#a67b91;margin-bottom:16px;font-style:italic}.feature h3{font-size:1.5rem;line-height:1.8;margin-bottom:18px}.feature p:not(.feature-number){font-size:.9375rem;line-height:2.1}
#cost{background:var(--soft);padding:45px 48px;border-top:3px solid var(--brand)}.cost-panel{background:#fff;padding:30px 34px}.cost-panel h3{font-family:var(--serif);font-size:1.3rem;margin-bottom:25px}.check-list{gap:20px 35px}.check-list li{padding-left:28px;font-size:.9375rem}.cost-panel>.note{margin-top:25px}.button-row{margin-top:25px}.related-link{margin-top:20px;font-size:.875rem}.access-grid{gap:60px}.access-grid h3{font-size:1.4rem}.address{padding-left:18px;border-left:3px solid var(--gold);margin-bottom:24px}.facility-table dt{font-size:.875rem;padding:17px 12px}.facility-table dd{padding:17px 18px;font-size:.9375rem}.access-directions{background:var(--soft);padding:50px 32px 30px;border-radius:100px 0 0 0}.map-link{font-size:.9375rem;gap:2px}.map-link .note{font-size:.8rem}.access-note p{font-size:.9375rem}.flow-list{gap:24px;margin:35px 0 20px}.flow-list li{padding:26px 20px;background:var(--soft);border-top:2px solid var(--gold)}.flow-list li::before{font-size:2.8rem;font-style:italic;line-height:1}.flow-list h3{margin:20px 0 14px}.flow-list p{font-size:.875rem}
#faq{display:grid;grid-template-columns:.75fr 1.6fr;column-gap:55px}#faq>.section-kicker{grid-column:1/-1}#faq .section-title{font-size:1.8rem;border:0;margin:0;padding:0;align-self:start}#faq .section-title::after{bottom:-28px;width:45px}.faq-list summary{padding:24px 35px 24px 36px;font-size:.9375rem}.faq-list summary::before{content:"Q";position:absolute;left:0;top:20px;font:italic 1.6rem Georgia,serif}.faq-list summary::after{right:5px}.faq-list details>div{padding:0 20px 25px 36px;font-size:.9375rem}.faq-list details[open]{background:var(--soft)}
.consultation{display:grid;grid-template-columns:.8fr 1fr;background:var(--brand-dark);color:white;position:relative;margin-bottom:35px;border:0;padding:0;text-align:left}.consultation-photo img{width:100%;height:100%;object-fit:cover;object-position:43% center}.consultation-content{text-align:center;padding:50px 30px}.consultation .eyebrow{color:#e8caa1}.consultation h2{font-size:1.65rem;margin:14px 0 20px}.consultation-content>p:not(.eyebrow){font-size:.9375rem}.contact-phone{color:#fff;margin:25px auto}.contact-phone:hover{color:#f2dcc0}.contact-phone span{font-size:.8rem}.contact-phone strong{font-size:2.7rem}.consultation .button{min-width:275px}.consultation .note{color:#e4d4dd;margin-top:15px}.back-link{margin-bottom:70px}.site-footer{background:#f5f1f3}.footer-name{font-size:1.5rem}.footer-top img{width:220px}
@media(max-width:1000px){.hero-copy{max-width:440px}.hero-seal{right:3%;width:125px;height:125px}.intro-heading{column-gap:30px}.intro-heading h2{font-size:1.9rem}.contact-banner{padding:26px}.contact-banner strong{font-size:2.1rem}.feature>div{padding:30px 24px 30px 55px}.feature-reverse>div{padding:30px 55px 30px 24px}.feature h3{font-size:1.3rem}.access-grid{gap:30px}.access-directions{padding-inline:24px}.consultation-content{padding-inline:22px}.contact-phone strong{font-size:2.2rem}#faq{gap:30px}.consultation .button{min-width:0;width:100%}}
@media(max-width:740px){
 .wrap{width:calc(100% - 36px)}.header-inner{padding-block:14px}.brand img{width:180px}.brand span{font-size:.75rem;letter-spacing:0}.header-contact p{font-size:.75rem}.header-phone{font-size:1.35rem}.nav-inner{width:100%}.nav-inner a{padding:10px 4px}
 .page-heading{min-height:760px;display:block;padding:0}.hero-photo{inset:0 0 auto;height:370px}.hero-photo img{object-position:center}.hero-shade{background:linear-gradient(0deg,#432236 0%,#432236 43%,#432236e0 53%,#4322360a 78%)}.hero-content{padding:290px 10px 45px}.hero-copy{max-width:none}.hero-copy .eyebrow{font-size:.75rem}.hero-message{font-size:2rem;line-height:1.7;margin:14px 0 20px;letter-spacing:.08em}.hero-copy h1{padding-left:16px}.hero-copy h1>span:first-child{font-size:.8rem;margin-bottom:5px}.hero-copy h1 .facility-prefix{font-size:1rem}.hero-copy h1 strong{font-size:2.6rem}.hero-description{font-size:.875rem;margin-top:18px}.hero-button{margin-top:20px;font-size:.875rem;min-height:48px}.hero-seal{top:188px;bottom:auto;right:2px;width:100px;height:100px}.hero-seal span{font-size:.7rem}.hero-seal strong{font-size:1.45rem}.page-heading .hero-photo-note{font-size:.7rem;bottom:auto;top:10px;right:8px;max-width:90%;padding:3px 8px}
 .breadcrumb{font-size:.75rem;padding-block:20px}.intro{padding-top:25px}.intro-heading{display:block;padding:0 0 0 18px;margin:0 0 30px}.intro-heading h2{font-size:1.8rem}.intro-heading>p:last-child{margin-top:20px;font-size:.875rem}.section-kicker{font-size:.8rem;margin-bottom:14px}.section-kicker span{font-size:.75rem;margin-left:12px}.gallery-main{padding:0 10px 10px 0}.gallery-main::before{inset:20px 0 0 20px}.gallery-main figcaption{font-size:.8rem;padding:10px 12px;min-height:45px}.gallery-thumbs{gap:7px;margin-top:12px}.gallery-thumbs span{font-size:.75rem;line-height:1.5;padding-top:7px}.intro-copy{margin:25px auto;font-size:.9375rem;line-height:2}.quick-facts{padding:0;margin:28px 0}.quick-facts>div{padding:20px 5px}.quick-facts dd span{font-size:2rem}.quick-facts dt{font-size:.8rem}
 .contact-banner{padding:26px 18px}.contact-banner h2{font-size:1.2rem}.contact-banner strong{font-size:2.2rem}.page-nav{display:flex;flex-wrap:wrap;justify-content:center;margin:20px 0 60px;padding:0}.page-nav a{font-size:.8rem;gap:8px;padding:12px}
 .section{margin-bottom:65px}.section-title{font-size:1.6rem;line-height:1.8;padding:0 0 18px;margin-bottom:30px}.feature,.feature-reverse{display:block;margin-bottom:40px}.feature picture{margin-right:16px}.feature-reverse picture{margin-left:16px;margin-right:0}.feature img{aspect-ratio:1.6}.feature>div,.feature-reverse>div{margin:-24px 0 0 16px;padding:42px 24px 26px}.feature-reverse>div{margin-left:0;margin-right:16px}.feature-number{font-size:2.5rem;margin-bottom:10px}.feature h3{font-size:1.3rem;margin-bottom:14px}
 #cost{padding:28px 20px}.cost-panel{padding:23px 18px;margin-inline:-5px}.cost-panel h3{font-size:1.15rem}.check-list{gap:15px}.button-row .button{padding-inline:12px;font-size:.875rem}.button-row .text-link{font-size:.875rem}.access-grid{gap:35px}.access-directions{border-radius:60px 0 0 0;padding:35px 25px}.facility-table dt{padding:15px 10px}.facility-table dd{padding:15px 12px}
 .flow-list{gap:16px}.flow-list li{padding:22px 18px}.flow-list h3{font-size:1rem}.flow-list li::before{font-size:2.3rem}#faq{display:block}#faq .section-title{font-size:1.6rem;margin-bottom:45px}#faq .section-title::after{bottom:-16px}.faq-list summary{padding:22px 35px 22px 36px}.faq-list details>div{padding-left:16px}
 .consultation{grid-template-columns:1fr;margin-bottom:25px;padding:0}.consultation-photo img{height:200px;object-position:center 48%}.consultation-content{padding:30px 22px}.consultation h2{font-size:1.5rem}.contact-phone strong{font-size:2.4rem}.back-link{margin-bottom:45px}.footer-top img{width:200px}.footer-name{font-size:1.3rem}.mobile-contact{background:var(--brand-dark);padding-inline:12px;box-shadow:0 -5px 25px #43223620}
}
@media(max-width:420px){.header-phone{font-size:1.45rem}.hero-message{font-size:1.8rem}.hero-copy .eyebrow{letter-spacing:0}.intro-heading h2{font-size:1.6rem}.flow-list li{padding:22px}.flow-list h3{margin-top:12px}.contact-phone strong{font-size:2rem}.quick-facts dd span{font-size:1.8rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important}}
@media print{.page-heading{min-height:0;background:white;color:var(--ink);padding:20px}.hero-photo,.hero-shade,.hero-seal,.hero-photo-note{display:none}.hero-content{padding:0}.hero-copy h1,.hero-copy .eyebrow,.hero-description{color:var(--ink)}.hero-message{font-size:20pt}.section{margin-bottom:35px}.contact-banner,.consultation{background:white;color:var(--ink)}.contact-banner a,.contact-banner p,.contact-phone,.consultation .note{color:var(--ink)}.consultation-photo{display:none}.consultation{display:block}#faq{display:block}#faq .section-title{margin-bottom:30px}}
