
:root{--paper:#faf9f5;--white:#fff;--forest:#29483e;--forest-deep:#233d34;--ink:#293f36;--muted:#657268;--rose:#9d6675;--blush:#f3e8e9;--sage:#eaf0ea;--line:#d8dfd6;--sans:"Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;--serif:"Noto Serif JP","Yu Mincho",serif;--header-height:80px}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 16px);overflow-x:clip}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.95 var(--sans);letter-spacing:.025em;-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-x:clip}a{color:inherit;text-decoration:none}button,summary{font:inherit;cursor:pointer}button{border-radius:0}h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}h1,h2,h3{font-weight:400}ul,ol{padding:0;list-style:none}img{display:block;max-width:100%;height:auto}summary{list-style:none}summary::-webkit-details-marker{display:none}a,button,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}:focus-visible{outline:2px solid var(--rose);outline-offset:5px}::selection{background:#e8d3dc}.shell{width:min(1120px,calc(100% - 80px));margin-inline:auto}.mobile-copy{display:none}[hidden]{display:none!important}.section-eyebrow{font:400 11px/1.6 var(--sans);letter-spacing:.17em;text-transform:uppercase;color:var(--rose)}.section-title{font:400 clamp(29px,3.05vw,40px)/1.6 var(--serif);letter-spacing:.045em}.section-intro{margin-top:19px;color:var(--muted);font-size:14px;line-height:2}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:46px;border-bottom:1px solid #9fac9e;font-size:13px}.text-link:hover{color:var(--rose);border-color:var(--rose)}.primary-link{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;min-height:55px;padding:14px 23px;background:var(--forest);border:1px solid var(--forest);color:#fff;font-size:13px;line-height:1.8;transition:background .2s}.primary-link:hover{background:var(--forest-deep)}.link-arrow{font:400 22px/1 var(--sans)}section,nav[id]{scroll-margin-top:calc(var(--header-height) + 15px)}

/* A spacious opening; the shorter mobile wording has its own rhythm. */
.hero{position:relative;padding:62px 0 58px;background:var(--paper)}.hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:54px;align-items:center}.hero-copy{padding:5px 0 10px}.hero-location{display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.11em;color:#687568}.hero-location::before{content:"";display:block;width:30px;height:1px;background:#a4848c}.hero h1{margin-top:24px;font:400 clamp(39px,4.25vw,58px)/1.53 var(--serif);letter-spacing:.055em}.hero h1 span{display:block}.hero h1 .mobile-copy{display:none}.hero h1 .accent{color:var(--rose)}.hero-description{margin-top:24px;max-width:360px;color:#657268;font-size:14px;line-height:2.15}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:13px 22px;margin-top:29px}.hero-actions .text-link{font-size:12px;gap:15px}.hero-art{position:relative;min-width:0}.hero-art img{width:100%;aspect-ratio:1.05;object-fit:cover;object-position:63% center}.hero-art-note{display:flex;align-items:center;gap:16px;margin-top:17px;font:italic 15px/1.5 Georgia,serif;letter-spacing:.02em;color:#7f8278}.hero-art-note::before{content:"";height:1px;width:36px;background:#bec8ba}.hero-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:42px;padding-top:20px;border-top:1px solid #dcded4}.hero-bottom p{font-size:12px;color:#788171}.hero-bottom span{font:italic 17px Georgia,serif;color:#8c7a7d}

/* The entrances are a small directory rather than a run of numbered cards. */
.services{padding:96px 0 87px;background:#fff}.services-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:74px}.section-heading .section-title{margin-top:15px}.services-list{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:180px minmax(0,1fr) 20px;gap:25px;padding:29px 0 31px;border-bottom:1px solid var(--line);align-items:center}.service-row:hover .service-title{color:var(--rose)}.service-category{display:block;margin-bottom:9px;font:400 10px/1.6 var(--sans);letter-spacing:.14em;color:#8b7a7f}.service-title-tail{display:block}.service-title{font:400 25px/1.65 var(--serif);transition:color .2s}.service-description{color:var(--muted);font-size:13px;line-height:1.95}.service-brand{display:block;margin-top:9px;color:#435c4b;font-size:11px;line-height:1.75}.service-row .link-arrow{align-self:center;color:#738572}.community-links{display:flex;flex-wrap:wrap;gap:11px 31px;align-items:center;padding:24px 0 0;color:#6a7968;font-size:12px}.community-links>a{display:inline-flex;gap:18px;align-items:center;min-height:40px;border-bottom:1px solid #d4ddd1}.community-links>a:hover{color:var(--rose)}

.approach{padding:82px 0 86px;background:var(--blush)}.approach-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:85px;align-items:center}.approach .section-title{font-size:clamp(29px,3.2vw,42px);margin-top:16px;color:#674b54}.approach-copy{border-left:1px solid #d5bcc5;padding-left:38px;font-size:14px;color:#74676b;line-height:2.15}.approach-copy p+p{margin-top:16px}.approach-copy .text-link{margin-top:19px;color:#704f5b;border-color:#b89eaa}.approach-keywords{display:flex;gap:22px;flex-wrap:wrap;margin-top:30px;color:#927480;font-size:12px}.approach-keywords span{padding-top:11px;border-top:1px solid #ceb5bf}

.learning{background:var(--forest-deep);color:#fff;padding:85px 0 84px}.learning-grid{display:grid;grid-template-columns:1fr 1.07fr;gap:91px;align-items:start}.learning .section-eyebrow{color:#caa1b0}.learning .section-title{margin-top:15px;font-size:clamp(29px,3.1vw,40px)}.learning .section-intro{color:#b6c5b9;max-width:370px}.learning-links{border-top:1px solid #64766a}.learning-link{display:grid;grid-template-columns:1fr 25px;gap:18px;padding:22px 0 24px;border-bottom:1px solid #51695b}.learning-link small{font-size:11px;color:#b8c8bb}.learning-link h3{margin-top:7px;font:400 24px/1.75 var(--serif)}.learning-link .link-arrow{align-self:center;color:#c0cdbd}.learning-link:hover h3{color:#e2c6d0}.learning-reservation{display:flex;align-items:center;justify-content:center;min-height:48px;margin-top:24px;padding:12px 18px;background:#fff;color:#111;border:1px solid #111;border-radius:0;box-shadow:none;font-size:12px;font-weight:400;line-height:1.8;letter-spacing:.025em}.learning-reservation:hover,.mobile-menu .s-menu-booking:hover{background:#f7f7f7}.learning-note{font-size:11px;color:#aabbaa;margin-top:15px}

.questions{padding:82px 0 84px;background:var(--paper)}.questions-grid{display:grid;grid-template-columns:280px minmax(0,1fr);gap:74px}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:75px;padding:19px 0;font-size:14px;line-height:1.85}.faq-list summary::after{content:"＋";font-size:19px;color:var(--rose);flex:0 0 auto}.faq-list details[open]>summary::after{content:"−"}.faq-list p{padding:0 34px 24px 0;color:var(--muted);font-size:13px;line-height:2}

.contact{padding:78px 0 86px;background:var(--sage)}.contact-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:94px;align-items:center}.contact .section-title{margin-top:15px;font-size:clamp(31px,3.4vw,44px)}.contact .section-intro{max-width:420px}.contact .primary-link{margin-top:27px;min-width:240px}.contact-address{border-top:1px solid #bdcbbd}.address-row{display:grid;grid-template-columns:80px minmax(0,1fr);gap:19px;padding:18px 0;border-bottom:1px solid #c7d2c5}.address-row dt{font-size:11px;color:#697d68}.address-row dd{font-size:13px;line-height:1.9}.address-row a{text-decoration:underline;text-underline-offset:4px}.contact-phone{font:400 27px/1.5 var(--serif);letter-spacing:.02em;text-decoration:none!important}.contact-access-link{margin-top:20px;font-size:12px}

.site-footer{padding:49px 0 24px;background:#202e28;color:#f4f4ed}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:26px;padding-bottom:29px;border-bottom:1px solid #425249}.footer-brand{display:flex;gap:12px;align-items:center}.footer-mark{color:#d996aa;font:28px/1 Georgia,serif}.footer-brand strong{display:block;font:400 15px/1.8 var(--serif);letter-spacing:.05em}.footer-brand small{display:block;font:400 8px/1.7 var(--sans);letter-spacing:.10em;color:#acb9ae;margin-top:3px}.footer-message{font:400 12px/1.8 var(--serif);color:#b9c3b6}.footer-nav-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:35px;padding:29px 0 30px}.footer-nav h3{color:#d4a5b6;font-size:10px;font-weight:400;letter-spacing:.09em;margin-bottom:13px}.footer-nav a{display:block;color:#b9c6b9;font-size:11px;line-height:1.85;margin:0 0 9px}.footer-nav a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}.footer-bottom{border-top:1px solid #3a4c40;padding-top:18px;color:#829583;font:400 9px/1.7 Georgia,serif;letter-spacing:.06em}

@media(min-width:1440px){.hero{padding-top:74px;padding-bottom:64px}.hero-grid{gap:70px}.hero-art img{aspect-ratio:1.08}.hero h1{font-size:58px}}
@media(max-width:1000px){.shell{width:calc(100% - 64px)}.hero-grid{gap:30px;grid-template-columns:.95fr 1.05fr}.hero h1{font-size:42px}.hero-art img{aspect-ratio:.9}.hero-actions{gap:12px}.services-layout,.questions-grid{grid-template-columns:230px minmax(0,1fr);gap:35px}.service-row{grid-template-columns:150px minmax(0,1fr) 17px;gap:17px}.service-title{font-size:23px}.approach-grid,.learning-grid,.contact-grid{gap:50px}.section-title{font-size:32px}}


@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
    /* Online-reservation shared header, menu and collapsible contents */
    :root{--header-height:80px;--view-height:100dvh}
    /* Header and content have separate viewport areas. The document does not scroll. */
    html{height:100%;min-height:0;overflow:hidden;overscroll-behavior:none;scroll-padding-top:0}
    body{position:fixed;inset:0;margin:0;padding:0;width:100%;height:100vh;height:var(--view-height,100dvh);min-height:0;overflow:hidden}
    #page-scroll{position:absolute;inset:var(--header-height) 0 0;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y pinch-zoom;scroll-behavior:smooth;scroll-padding-top:15px}
    #page-scroll section,#page-scroll nav[id],#page-scroll main{scroll-margin-top:15px}
    html.menu-open #page-scroll{overflow:hidden}
    .site-header.s-header{padding-top:env(safe-area-inset-top)}
    @media(prefers-reduced-motion:reduce){#page-scroll{scroll-behavior:auto}}

    .s-header,.s-toc,.mobile-menu{--ink:#293832;--wine:#795663;--line:#ded9d6;--wine-light:#f5edef;--serif:"Noto Serif JP","Yu Mincho",serif;--sans:"Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;color:var(--ink);font:400 16px/1.9 var(--sans);letter-spacing:.025em}
.s-header,.s-toc,.s-footer,.mobile-menu{--line:#ded9d6;--wine-light:#f5edef;--gutter:25px}
.s-shell{width:calc(100% - var(--gutter)*2);margin-inline:auto}
.s-header{z-index:30;background:rgba(255,255,255,.98);border-bottom:1px solid var(--line);backdrop-filter:none}
.s-header-row{min-height:66px;margin:auto;padding:10px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.s-brand{display:flex;align-items:center;gap:10px;flex-shrink:0;line-height:1.6}
.s-brand-mark{color:#b76f84;font-size:26px;line-height:1}
.s-brand-name{font:500 13px/1.7 var(--serif);letter-spacing:.04em}
.s-brand-name small{display:block;font:400 9px/1.4 var(--sans);letter-spacing:.05em;color:#676461}
.s-header-links{display:flex;align-items:center;gap:17px;flex-shrink:0}
.s-header-toc{font-size:11px;white-space:nowrap;border-bottom:1px solid #b88d99;padding:4px 0}
.s-menu-button{display:flex;width:46px;height:46px;border:1px solid var(--line);background:transparent;flex-direction:column;align-items:center;justify-content:center;gap:5px;flex-shrink:0}
.s-menu-button i{width:19px;height:1px;background:var(--ink);display:block;transition:transform .2s}
.s-menu-button small{font-size:8px;line-height:1;letter-spacing:.1em;margin-top:2px}
.s-menu-button[aria-expanded=true] i:first-child{transform:translateY(3px) rotate(45deg)}
.s-menu-button[aria-expanded=true] i:nth-child(2){transform:translateY(-3px) rotate(-45deg)}
.s-toc{padding:0;border-block:1px solid var(--line);background:#fff}
.s-toc>.s-shell{display:block;padding-block:0}
.s-toc-mobile{display:block}
.s-toc-mobile>summary{min-height:62px;display:flex;align-items:center;justify-content:space-between;font:400 17px var(--serif);list-style:none}
.s-toc-mobile>summary::after{content:"＋";font-size:20px;color:var(--wine)}
.s-toc-mobile[open]>summary::after{content:"−"}
.s-toc-list{display:grid;grid-template-columns:1fr;padding-bottom:22px}
.s-toc-link{display:flex;align-items:baseline;gap:12px;border-bottom:1px solid #eeebea;padding:11px 0;line-height:1.9;font-size:12px;min-height:47px}
.s-toc-link:hover{color:var(--wine)}
.mobile-menu{background:#fff;scrollbar-color:#a98590 #f4efef}
.mobile-menu .s-reserve{display:flex;width:100%;min-height:58px;justify-content:center;align-items:center;gap:14px}
.mobile-menu .s-menu-booking{display:flex;align-items:center;justify-content:center;min-height:48px;background:#fff;color:#111;border:1px solid #111;border-radius:0;box-shadow:none;margin-bottom:12px;padding:12px 18px;font-size:13px;font-weight:400;line-height:1.6;letter-spacing:.025em}
.s-menu-home,.s-menu-blog{display:flex;align-items:center;justify-content:space-between;min-height:50px;border-bottom:1px solid var(--line);font-size:13px}
.s-menu-blog{color:var(--wine)}
.s-menu-group{border-bottom:1px solid var(--line)}
.s-menu-group>summary{display:flex;align-items:center;justify-content:space-between;min-height:54px;font-size:14px;list-style:none}
.s-menu-group>summary::after{content:"＋";font:400 18px var(--sans);color:var(--wine)}
.s-menu-group[open]>summary::after{content:"−"}
.s-menu-group .submenu{padding:0 0 16px 14px;border-left:1px solid #d8bdc6;margin:0 0 8px 2px}
.s-menu-group a{display:block;padding:12px 10px;font-size:12px;line-height:1.9;min-height:46px}
.s-menu-group a[aria-current=page]{background:var(--wine-light);color:var(--wine)}
.s-support{background:var(--wine);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 20px;line-height:1.6}
.s-support small{font-size:9px;display:block;letter-spacing:.12em}
.s-support strong{font:400 14px/1.7 var(--serif)}
.mobile-menu .s-support{margin:26px 0 14px;min-height:78px}

.s-header-row{max-width:1240px}.s-brand-name{color:var(--ink)}.mobile-menu{position:absolute;z-index:25;top:var(--header-height);left:50%;transform:translateX(-50%);width:100%;max-width:1120px;bottom:0;height:auto;min-height:0;max-height:none;scroll-padding-block:16px max(48px,env(safe-area-inset-bottom));overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border-inline:1px solid #ded9d6;box-shadow:0 15px 36px #2434290d;scrollbar-width:thin}.menu-inner{max-width:740px;margin:auto;padding:30px 35px max(72px,calc(env(safe-area-inset-bottom) + 48px))}.menu-caption{color:#896777;font-size:12px;letter-spacing:.14em;margin:0 0 20px}.menu-close-bottom{margin-top:18px;border:1px solid #ded9d6;width:100%;min-height:48px;background:transparent;font-size:13px}
.s-header-row{min-height:80px;padding:14px 32px}.s-brand-name{font-size:18px}.s-brand-name small{margin-top:3px;font-size:10px;letter-spacing:.12em}.s-brand-mark{font-size:30px}.s-header-toc{font-size:13px}.s-header-links{gap:28px}.s-menu-button{width:50px;height:50px}

    .site-header.s-header{position:fixed;inset:0 0 auto;z-index:1000;width:100%;box-shadow:none}
    .s-brand{min-width:0;flex-shrink:1}
    .s-brand-name{min-width:0}
    .s-brand-name small{white-space:nowrap}
    .s-brand-mark{flex:0 0 auto}
    .s-header-toc,.s-menu-button,.s-toc summary,.s-toc-link,.mobile-menu a,.mobile-menu button,.mobile-menu summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
    .s-menu-button,.menu-close-bottom{color:var(--ink);cursor:pointer;border-radius:0}
    .s-menu-button small{font-weight:400}
    .s-toc summary,.s-menu-group>summary{cursor:pointer}
    .s-toc .s-shell{max-width:1120px;width:calc(100% - 64px)}
    .s-toc summary>span{display:flex;align-items:baseline;gap:16px}
    .s-toc summary small{font:400 11px var(--sans);letter-spacing:.13em;color:#8c787e}
    .s-toc-link b{font:400 12px var(--sans);color:#a17b86}
    .s-toc-list{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:28px;max-height:min(420px,max(120px,calc(var(--view-height) - var(--header-height) - 110px)));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y pinch-zoom;scrollbar-width:thin;scrollbar-color:#a98590 #f4efef}
    .s-toc-link span{min-width:0;overflow-wrap:anywhere}
    #mobile-menu{display:block;z-index:999;margin:0;touch-action:pan-y pinch-zoom}
    .mobile-menu [aria-current=page]{color:var(--wine)}
    .menu-inner p{margin-top:0}
    .menu-inner .s-menu-group{margin:0}
    [hidden]{display:none!important}
    html.menu-open,html.menu-open body{overflow:hidden}
    #contents:focus,#main-content:focus,#page-scroll:focus{outline:none}
    .skip-link{position:fixed;top:-100px;left:20px;z-index:1100;padding:12px 20px;background:#fff;color:#293832}
    .skip-link:focus{top:10px}
    
    

.s-toc-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 32px}.s-toc-link{justify-content:space-between;font-size:12px}.s-toc-link::after{content:"↗";font-size:14px;color:#a68891}.s-toc .s-shell{width:min(1120px,calc(100% - 80px))}.s-toc-link:hover{color:var(--wine)}

@media print{html,body{position:static;height:auto;overflow:visible}#page-scroll{position:static;height:auto;overflow:visible}.s-header,.mobile-menu,.s-toc,.skip-link{display:none!important}body{padding-top:0}.hero-art img{max-height:300px;object-fit:contain}}

@media screen and (max-width:760px){#page-scroll{overflow-x:auto}#page-scroll>main,#page-scroll>footer{min-width:960px}}
/* Page-specific editorial layouts, shared across the center. */
.r-page{font-size:14px;line-height:2;color:var(--ink)}.r-page p{color:#657268}.r-page h1,.r-page h2,.r-page h3{font-family:var(--serif);font-weight:400;letter-spacing:.035em}.r-page h1{font-size:clamp(34px,3.65vw,50px);line-height:1.6}.r-page h2{font-size:31px;line-height:1.7}.r-page h3{font-size:23px;line-height:1.75}.r-page a:hover{color:var(--rose)}.r-page .r-button:hover{color:var(--ink);background:#f8f7f5}.r-eyebrow{font:400 10px/1.8 var(--sans);letter-spacing:.17em;color:var(--rose)!important;text-transform:uppercase;margin-bottom:15px!important}.r-lead{font-size:14px;line-height:2.15;max-width:570px;margin-top:24px!important}.r-hero{padding:58px 0 62px}.r-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:75px;align-items:center}.r-hero em{font-style:normal;color:var(--rose)}.r-hero-meta{display:flex;gap:23px;flex-wrap:wrap;margin-top:28px;padding-top:21px;border-top:1px solid var(--line);font-size:11px;color:#73806d}.r-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px 25px;margin-top:28px}.r-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 24px;border:1px solid #293c32;background:#fff;color:#293c32!important;font:400 13px/1.8 var(--sans);border-radius:0;box-shadow:none;letter-spacing:.03em;text-align:center}.r-button-dark{background:var(--forest);color:#fff!important}.r-button-dark:hover{background:var(--forest-deep)!important;color:#fff!important}.r-link{display:inline-flex;align-items:center;gap:20px;min-height:44px;border-bottom:1px solid #b4c0b0;font-size:12px}.r-section{padding:76px 0 80px}.r-white{background:#fff}.r-pale{background:var(--sage)}.r-blush{background:var(--blush)}.r-dark{background:var(--forest-deep);color:#fff}.r-dark p{color:#bfcabd}.r-dark .r-eyebrow{color:#d5adba!important}.r-section-head{display:grid;grid-template-columns:.9fr 1.1fr;gap:75px;margin-bottom:35px;align-items:end}.r-section-head p{max-width:600px}.r-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px}.r-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}.r-list{border-top:1px solid var(--line)}.r-row{padding:23px 0;border-bottom:1px solid var(--line)}.r-row h3{font-size:23px;margin-bottom:8px}.r-row p{font-size:13px}.r-dossier{padding:33px 35px;border-top:2px solid #927c84;background:var(--blush)}.r-dossier h2{font-size:25px}.r-dossier p{font-size:13px;margin-top:15px}.r-dossier ul{margin-top:23px;padding:0}.r-dossier li{padding:11px 0;border-top:1px solid #d9c8ce;font-size:12px;color:#78626d}.r-tags{display:flex;flex-wrap:wrap;gap:8px 13px;margin-top:18px}.r-tags span{font-size:11px;border-bottom:1px solid #c5d0c0;padding:7px 0;margin-right:9px;color:#687764}.r-course{padding:30px 32px;background:var(--sage)}.r-course:nth-child(2){background:var(--blush)}.r-course p{font-size:13px;margin-top:15px}.r-subjects{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;margin-top:22px}.r-subjects li{font-size:12px;padding:10px 0;border-bottom:1px solid #cad2c5;color:#5b6c5e}.r-course:nth-child(2) .r-subjects li{border-color:#d7c5cc}.r-price-list{border-top:1px solid var(--line)}.r-price{display:grid;grid-template-columns:1.05fr 1.4fr .75fr;align-items:center;gap:30px;padding:23px 0;border-bottom:1px solid var(--line)}.r-price h3{font-size:21px}.r-price small{display:block;color:#71806f;font-size:11px}.r-price p{font-size:12px}.r-price strong{font:400 30px/1.5 var(--serif);text-align:right;white-space:nowrap;color:#334d3d}.r-price strong small{font:400 10px/1.8 var(--sans)}.r-note{font-size:11px!important;color:#788171!important;line-height:1.9;margin-top:18px!important}.r-note p+p{margin-top:7px}.r-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:27px}.r-step{padding-top:18px;border-top:1px solid #a6b8a2}.r-step h3{font-size:22px;margin-bottom:13px}.r-step p{font-size:12px}.r-quote{font:400 34px/1.9 var(--serif);letter-spacing:.04em;color:#73545f!important;max-width:780px}.r-quote-note{margin-top:24px;font-size:13px}.r-faq{border-top:1px solid var(--line)}.r-faq details{border-bottom:1px solid var(--line)}.r-faq summary{display:flex;justify-content:space-between;align-items:center;gap:25px;min-height:66px;padding:20px 0;font-size:14px;line-height:1.8}.r-faq summary::after{content:'＋';flex:none;color:var(--rose);font-size:18px}.r-faq details[open] summary::after{content:'−'}.r-answer{padding:0 30px 24px 0;color:#657268;font-size:13px;line-height:2}.r-answer p{margin:0!important}.r-answer p+p{margin-top:12px!important}.r-answer .qmark,.r-answer .amark{display:none}.r-faq-grid{display:grid;grid-template-columns:270px 1fr;gap:70px}.r-end{display:flex;justify-content:space-between;align-items:center;gap:40px}.r-end p{margin-top:14px}.r-profile-facts{padding:32px;background:var(--forest-deep);color:#fff}.r-profile-facts h2{font-size:25px}.r-profile-facts p{color:#c0ccb9;font-size:12px;margin-top:13px}.r-profile-facts dl{margin-top:24px}.r-profile-facts dl div{padding:12px 0;border-top:1px solid #647761;display:flex;gap:25px;justify-content:space-between;font-size:12px}.r-profile-facts dt{color:#acc0a9}.r-timeline{border-top:1px solid var(--line)}.r-timeline article{display:grid;grid-template-columns:140px 1fr;gap:30px;padding:25px 0;border-bottom:1px solid var(--line)}.r-timeline time{font:400 28px/1.7 var(--serif);color:var(--rose)}.r-timeline h3{font-size:22px;margin-bottom:9px}.r-timeline p{font-size:13px}.r-number{font:400 39px/1.4 var(--serif);color:var(--rose)}.r-channel{padding:23px 0;border-top:1px solid var(--line)}.r-channel h3{font-size:18px}.r-channel>a{font:400 28px/1.8 var(--serif);display:inline-block;overflow-wrap:anywhere}.r-channel p{font-size:12px;margin-top:7px}.r-address{display:grid;grid-template-columns:1fr 1fr;gap:45px}.r-address dl>div{padding:14px 0;border-bottom:1px solid #c5d0c0;display:grid;grid-template-columns:70px 1fr;gap:20px;font-size:12px}.r-address dt{color:#74826d}.r-map{width:100%;height:320px;border:0;margin-top:25px}.r-photo img{width:100%;height:auto;border:1px solid var(--line)}.r-photo figcaption{margin-top:15px;font-size:12px;color:#687465}.r-photo figcaption strong{display:block;font-weight:500;margin-bottom:5px;color:var(--ink)}.r-event-date{font:400 74px/1.3 var(--serif);letter-spacing:-.025em;color:#85616d!important}.r-event-date small{font:400 12px/1.7 var(--sans);letter-spacing:.15em;display:block;margin-bottom:8px}.r-event-slots{margin-top:24px}.r-event-slot{display:grid;grid-template-columns:135px 1fr;gap:23px;border-top:1px solid #d7c5cc;padding:18px 0}.r-event-slot time{font-size:13px;color:#866273}.r-event-slot h3{font-size:19px}.r-event-slot p{font-size:12px;margin-top:7px}.r-agenda{background:var(--blush);padding:28px 32px}.r-compact-list{margin-top:20px}.r-compact-list li{padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.r-dark .r-compact-list li{border-color:#546c59}.r-event-banner{display:flex;align-items:center;justify-content:space-between;gap:25px;border:1px solid #c1cbbb;padding:20px 25px;margin-top:30px;background:white;font-size:12px}.r-event-banner strong{font:400 19px/1.7 var(--serif);display:block}.r-event-banner time{color:var(--rose);font-size:12px}.r-legal{font-size:13px}.r-legal section{padding:45px 0;border-bottom:1px solid var(--line)}.r-legal h2{font-size:27px;margin:8px 0 24px}.r-legal h3{font-size:18px;margin:23px 0 12px}.r-legal p{margin:12px 0}.r-legal .eyebrow,.r-legal .section-kicker{font:10px/1.8 var(--sans);letter-spacing:.1em;color:var(--rose)}.r-legal table{border-collapse:collapse;width:100%;font-size:13px}.r-legal td,.r-legal th{text-align:left;padding:15px 12px;border-bottom:1px solid var(--line);vertical-align:top}.r-legal th{background:var(--sage);font-weight:500}.r-legal dl>div{padding:18px 0;border-bottom:1px solid var(--line)}.r-legal dt{font-size:12px;color:#806370;margin-bottom:9px}.r-legal dd{font-size:13px}.r-legal a{border-bottom:1px solid #b0beaa}.r-legal .fee-grid,.r-legal .payment-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.r-legal .provider-note,.r-legal .notice{padding:22px;background:var(--sage)}
/* All forms share calm labels and full-size input text. */
.r-page form{margin-top:28px}.r-page fieldset{min-width:0;margin:0;padding:0;border:0}.r-page legend{margin-bottom:15px;font-size:13px}.r-page input:not([type=radio]):not([type=checkbox]),.r-page select,.r-page textarea{width:100%;max-width:100%;padding:12px 14px;border:1px solid #c7cec2;border-radius:0;background:#fff;color:#293f36;font:400 16px/1.6 var(--sans);box-shadow:none}.r-page textarea{min-height:130px;resize:vertical}.r-page input[type=radio],.r-page input[type=checkbox]{accent-color:var(--forest);width:18px;height:18px;flex:none}.r-page label{font-size:12px}.r-page label>span:first-child,.r-page .field>label{display:block;margin-bottom:8px}.r-page button{cursor:pointer}.r-page .required,.r-page .ca-field b,.r-page legend b,.r-page .field-label b{font:400 10px/1.6 var(--sans);color:var(--rose);margin-left:8px}.r-page .optional,.r-page label small{font-size:10px;color:#7a8573}.r-page .field,.r-page .ca-field{display:block;min-width:0}.r-page .form-grid,.r-page .ca-form-grid,.r-page .field-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.r-page .full,.r-page .field-full{grid-column:1/-1}.r-page .ca-reply-choice,.r-page .ca-message-field{margin-top:28px}.r-page .ca-reply-choice>div,.r-page .choice-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.r-page .ca-reply-choice label,.r-page .choice{display:flex;align-items:center;gap:12px;padding:15px;border:1px solid var(--line);background:white;min-height:55px}.r-page .choice-text small,.r-page .ca-reply-choice small{display:block}.r-page .ca-reply-choice strong{font-size:13px;font-weight:400}.r-page .ca-consent,.r-page .agreement,.r-page .consent{display:flex;align-items:flex-start;gap:11px;margin:25px 0;font-size:12px;line-height:1.9}.r-page .ca-submit,.r-page .submit-button,.r-page .submit-btn{display:flex;justify-content:center;align-items:center;min-height:50px;padding:13px 24px;color:#fff;background:var(--forest);border:1px solid var(--forest);font:400 13px/1.8 var(--sans);border-radius:0}.r-page .ca-form-help,.r-page .form-status,.r-page .form-note,.r-page .field-help,.r-page .request-help{font-size:11px;color:#74806c;margin-top:12px}.r-page .topic-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px}.r-page .topic-choice{display:flex;align-items:center;gap:10px;min-height:44px}.r-page .honeypot,.r-page .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.r-page .commercial-disclosure{font-size:10px;margin-top:18px}.r-mail-copy{margin-top:25px;padding:22px;background:var(--sage)}.r-mail-copy textarea{margin:12px 0}.r-mail-copy p{font-size:12px}.r-form-panel{background:#fff;padding:32px;border-top:2px solid #8fa58c}
/* Booking selection remains a native form; the visual hierarchy is rebuilt. */
.booking-form{width:100%;max-width:none;padding:0}.step-heading{font:400 25px/1.7 var(--serif);margin-bottom:23px}.area-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:40px}.area-label{display:flex;align-items:center;justify-content:space-between;padding:19px 20px;border-bottom:2px solid #d3dcce;background:#edf1e9;min-height:85px}.area-label strong{font:400 19px/1.7 var(--serif)}.area-label small{display:block;font-size:10px}.area-option input:checked+.area-label{background:#29483e;color:#fff;border-color:#29483e}.area-option input:checked+.area-label small{color:#c7d3c1}.area-option input:focus-visible+.area-label,.plan-option input:focus-visible+.plan-card{outline:2px solid var(--rose);outline-offset:4px}.booking-columns{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:45px}.menu-column{min-width:0}.plan-grid{display:grid;grid-template-columns:1fr;gap:0}.plan-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 20px;padding:22px 20px;border-bottom:1px solid var(--line);border-left:2px solid transparent;position:relative;min-height:120px;background:#fff}.plan-top{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center}.plan-kicker{font-size:10px;color:#8b747e}.plan-name{grid-column:1;font:400 22px/1.6 var(--serif)}.plan-description{grid-column:1;grid-row:3;color:#6b7765;font-size:12px}.plan-price{grid-column:2;grid-row:2/4;align-self:center;white-space:nowrap}.plan-price b{font:400 25px/1.6 var(--serif)}.plan-price small{font-size:9px;margin-left:5px}.plan-duration{grid-column:1/-1;color:#7a8471;font-size:10px;margin-top:5px}.plan-option input:checked+.plan-card{background:#f1e7e9;border-left-color:#946475}.plan-check{width:15px;height:15px;border:1px solid #b0baaa;border-radius:50%}.plan-option input:checked+.plan-card .plan-check{background:#926174;border-color:#926174;box-shadow:inset 0 0 0 3px #f1e7e9}.selected-panel{align-self:start;position:sticky;top:20px;background:var(--sage);border-top:2px solid #8ca486;padding:25px}.selected-label{font-size:10px;color:#71806b;letter-spacing:.1em}.selected-area{font-size:11px;margin-top:12px}.selected-panel h3{font-size:24px;margin-top:9px}.selected-price{font:400 32px/1.5 var(--serif);margin-top:16px}.selected-price small{font:400 10px var(--sans)}.selected-duration,.selected-note{font-size:11px!important;margin-top:12px}.selected-action{display:flex;align-items:center;justify-content:center;min-height:49px;border:1px solid #263d2e;background:white;padding:11px 14px;font-size:12px;margin-top:20px}.selected-action-hint{font-size:10px!important;margin-top:12px}.selected-steps{font-size:11px;line-height:1.9;margin-top:19px;padding-top:16px;border-top:1px solid #c7d2c2}.selected-steps li{padding:5px 0;display:flex;gap:10px}.selected-steps .step-number{display:none}.request-section{margin-top:44px;padding-top:32px;border-top:1px solid var(--line)}.request-intro{font-size:12px;margin-bottom:22px}.request-fields .field-grid{margin-top:20px}.schedule-fields{margin-top:28px!important}.schedule-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.slot{margin-top:20px}.form-actions{margin-top:26px}.mail-copy{background:var(--sage);padding:22px;margin-top:25px}.mail-copy h3{font-size:20px}.mail-copy textarea{margin:15px 0}.copy-button{min-height:44px;background:white;border:1px solid #29483e;padding:10px 17px;font:12px var(--sans)}.booking-summary{margin-top:28px}.price-notes{margin-top:20px;font-size:11px;color:#75806e}.price-notes li{padding:3px 0}.native-panel{padding:24px;background:var(--sage)}.native-panel a{display:inline-flex;padding:12px 20px;background:white;border:1px solid #29483e;margin-top:14px}.flow-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.flow-card{border-top:1px solid #a6b8a2;padding-top:20px}.flow-card h3{font-size:21px;margin:10px 0}.flow-card p{font-size:12px}.flow-label{display:none}
/* Desktop category links use the center's own page groups. */
.desktop-categories{display:flex;align-items:center;gap:16px;margin-left:auto}.desktop-categories details{position:relative}.desktop-categories summary{display:flex;align-items:center;gap:8px;min-height:46px;font:400 12px/1.6 var(--sans);white-space:nowrap}.desktop-categories summary::after{content:'⌄';font-size:11px;color:#987884}.desktop-categories details[open] summary{color:var(--rose)}.desktop-category-panel{position:absolute;top:100%;left:0;width:255px;padding:12px 16px;background:white;border:1px solid #ded9d6;box-shadow:0 14px 28px #283d3012}.desktop-categories details:last-child .desktop-category-panel{left:auto;right:0}.desktop-category-panel a{display:block;min-height:43px;padding:11px 7px;font-size:12px;line-height:1.75;border-bottom:1px solid #ecebe6}.desktop-category-panel a:last-child{border-bottom:0}.desktop-category-panel a:hover{color:var(--rose);background:#fbf8f9}.desktop-category-panel a[aria-current=page]{color:var(--rose)}.desktop-categories~.s-header-links{margin-left:12px;gap:18px}
@media print{.r-section{padding:25px 0;break-inside:avoid}.r-page .r-button{display:none}.r-form-panel{padding:0}.booking-columns{display:block}.selected-panel{position:static}.r-page details{break-inside:avoid}}
.booking-columns>.request-section{grid-column:1/-1}.selected-caption{font-size:10px;letter-spacing:.12em}.selected-name{font-size:25px!important;margin-top:10px!important}.selected-total{margin-top:15px!important}.selected-total b{font:400 32px/1.5 var(--serif);color:#334d3d}.selected-total span{font-size:10px;margin-left:7px}.selected-panel .selected-action{width:100%}.schedule{margin-top:28px!important}.date-row{margin-top:18px}.date-row-title{font-size:12px;margin-bottom:10px!important}.date-row-title small{font-size:10px;color:var(--rose);margin-left:9px}.date-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}.date-pair label>span{font-size:11px}.field-hint,.send-note,.contact-alternative,.menu-note{font-size:11px!important;line-height:1.9;margin-top:12px!important}.schedule+.async-note,.schedule~.field{margin-top:23px}.form-submit{margin-top:20px;width:100%}.mail-copy>p{font-size:12px}.copy-message{font-size:11px}.r-page .r-faq>details>p{padding:0 25px 22px 0;font-size:13px}.r-anchor{display:block;position:relative;height:0}
.r-page h2.step-heading{font-size:25px}.r-legal .legal-payment-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.r-legal .legal-payment-card{background:var(--sage);padding:24px}.r-legal .legal-payment-card h3{margin-top:7px}.r-legal .legal-card-label,.r-legal .legal-eyebrow{font:400 10px/1.8 var(--sans);letter-spacing:.14em;color:var(--rose)}.r-legal .legal-detail-row{display:grid;grid-template-columns:220px minmax(0,1fr);gap:28px;margin-top:30px}.r-legal .legal-detail-row h3{margin-top:12px}.r-legal .legal-course-links{display:flex;gap:16px;flex-wrap:wrap;font-size:11px;margin-top:25px}.r-legal .legal-fee-table td:last-child{white-space:nowrap}.r-legal .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.r-legal .legal-contact-card{padding:25px;background:var(--sage)}.r-legal .legal-contact-actions{display:flex;flex-wrap:wrap;gap:15px;margin-top:20px}

@media(max-width:1100px){.desktop-categories{gap:10px}.desktop-categories summary{font-size:11px}.s-header-row{padding-inline:22px}.s-brand-name{font-size:16px}.s-header-links{gap:13px}}

