:root{--cream:#faf3eb;--peach:#f6e8d9;--ink:#251c16;--body:#564133;--clay:#925d40;--rust:#b15e43;--green:#007f58;--deep-green:#006345;--mint:#e8faf1;--mint-border:#8de5be;--border:#eed1bb;--serif:"Baskerville","Iowan Old Style","Palatino Linotype",Georgia,serif;--sans:"Avenir Next",Avenir,"Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--cream);color:var(--body);font-family:var(--sans);font-size:20px;line-height:1.55}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select,summary{-webkit-tap-highlight-color:transparent}a,button,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--green);outline-offset:5px}img{display:block;width:100%;height:auto}figure,p,h1,h2,h3{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;color:var(--ink);line-height:1.13}h2{font-size:clamp(36px,4.7vw,68px);letter-spacing:-.025em}h3{font-size:34px}p+p{margin-top:24px}.center{text-align:center}.content{max-width:1210px;margin-inline:auto}.section{padding:130px 30px}.peach{background:var(--peach)}.eyebrow{color:var(--rust);font-size:18px;letter-spacing:.2em;text-transform:uppercase;font-weight:400;line-height:1.55}.eyebrow+h2{margin-top:22px}.intro{font-size:23px;line-height:1.6}h2+.intro{margin-top:36px}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;border:1px solid transparent;border-radius:8px;padding:17px 34px;font-size:20px;font-weight:500;line-height:1.5;cursor:pointer;transition:background .18s,transform .18s}.button:hover{transform:translateY(-2px)}.button-green{background:var(--green);color:#fff}.button-green:hover{background:var(--deep-green)}.button-clay{background:var(--clay);color:white}.button-clay:hover{background:#7c4b33}.button-outline{border-color:var(--clay);color:#79472d}.button-outline:hover{background:#efddca}.button-row{display:flex;justify-content:center;gap:18px;flex-wrap:wrap}.button-row .button span{color:#007f58}.button-row .button-clay span{color:#b8f5d8}
.site-header{height:96px;padding:0 4%;position:fixed;top:0;left:0;width:100%;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:30px;color:var(--cream);transition:background .2s,color .2s,box-shadow .2s}.brand{font:italic 32px/1.2 var(--serif);white-space:nowrap;letter-spacing:-.03em}.site-header.scrolled,.site-header.menu-open{background:var(--cream);color:var(--ink);box-shadow:0 1px 0 var(--border)}.site-header nav{display:flex;align-items:center;gap:46px}.site-header nav>a:not(.button){font-size:20px}.site-header nav>a:not(.button):hover{text-decoration:underline;text-underline-offset:6px}.site-header .button{padding:13px 24px}.menu-toggle{display:none}.hero{min-height:720px;height:100svh;max-height:1120px;position:relative;display:grid;place-items:center;isolation:isolate;color:#fff7ec}.hero-image{position:absolute;inset:0;height:100%;object-fit:cover;z-index:-2}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#23332666,#1e281c3d 45%,#33281f66);z-index:-1}.hero-content{text-align:center;padding:160px 24px 60px}.hero .eyebrow{color:inherit;font-size:21px;letter-spacing:.25em}.hero h1{font-size:clamp(60px,6.5vw,96px);color:inherit;margin:24px 0}.hero-tagline{font:italic clamp(25px,2.5vw,36px)/1.5 var(--serif)}.scroll-link{width:66px;height:66px;border:1px solid #fff8;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:60px auto 0;font-size:36px;line-height:1;transition:background .2s}.scroll-link:hover{background:#fff2}.welcome{padding-block:140px}.welcome .eyebrow{font-size:20px}.welcome .button-row{margin-top:60px}.practice .meaning-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:1008px;margin:60px auto}.meaning-card{background:var(--peach);border:1px solid var(--border);border-radius:12px;padding:36px 20px 30px}.meaning-card h3{color:#854e32;font-size:38px}.meaning-card h3 span{font-family:var(--sans);font-size:30px}.meaning-card p{margin-top:10px;font-size:21px}.mint{background:var(--mint);border:1px solid var(--mint-border);border-radius:12px}.meaning-card.mint h3{color:var(--deep-green)}.quote{font:italic 34px/1.45 var(--serif);color:#76482f;margin-top:26px}.wide-image{padding:12px;background:var(--peach);border-radius:13px;margin:80px auto 0;max-width:1450px;overflow:hidden}.wide-image img{aspect-ratio:16/7;object-fit:cover}.practice{padding-bottom:30px}.services{padding-top:100px;padding-bottom:24px}.services .intro{margin-bottom:72px}.service-list{max-width:1450px;margin:auto;display:grid;gap:28px}.service{background:var(--cream);border:1px solid var(--border);border-radius:12px;scroll-margin-top:110px;overflow:hidden}.service summary{position:relative;padding:42px;list-style:none;cursor:pointer}.service summary::-webkit-details-marker{display:none}.service-icon{display:flex;width:72px;height:72px;border-radius:50%;background:#fce0da;align-items:center;justify-content:center;color:#8d5139;margin-bottom:25px}.service-icon svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.service-title{display:block;font:34px/1.3 var(--serif);color:var(--ink);padding-right:60px}.expand-icon{width:42px;height:42px;background:#c7f4e1;position:absolute;right:42px;bottom:44px;border-radius:50%;color:var(--deep-green)}.expand-icon:before,.expand-icon:after{content:"";position:absolute;background:currentColor;left:14px;top:20px;width:14px;height:2px}.expand-icon:after{transform:rotate(90deg)}details[open] .expand-icon:after{transform:rotate(0)}.service-content{padding:0 42px 38px;max-width:1100px;font-size:21px}.text-link{display:inline-block;color:var(--deep-green);margin-top:24px;border-bottom:1px solid var(--mint-border)}.language-note{max-width:1450px;margin:60px auto 0;padding:26px 32px;display:flex;justify-content:center;align-items:center;gap:22px;font-size:23px;text-align:center}.language-note>span:first-child{color:var(--deep-green);font-size:25px;flex-shrink:0}.contact{padding-top:115px;padding-bottom:80px;max-width:1510px;margin:auto}.heart{display:inline-block;font-size:.95em;color:#a7635c;margin-left:12px;vertical-align:baseline}.contact-invitation{margin-top:46px;font-size:23px}.contact-links{display:grid;gap:18px;margin-top:26px}.contact-links>a{display:flex;align-items:center;gap:18px;width:fit-content;font-size:23px;overflow-wrap:anywhere}.contact-icon{width:60px;height:60px;background:#c7f4e1;color:var(--deep-green);display:grid;place-items:center;border-radius:50%;flex-shrink:0}.contact-icon svg{width:25px;height:25px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linejoin:round}.consultation-form{margin-top:60px;padding:48px;border:1px solid var(--border);border-radius:12px;scroll-margin-top:120px}.consultation-form h3{margin-bottom:30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.form-grid label{display:block;min-width:0}.full-width{grid-column:1/-1}input,textarea,select{width:100%;background:var(--cream);border:1px solid #e5bea0;border-radius:9px;padding:18px 23px;color:var(--ink);min-height:66px}input::placeholder,textarea::placeholder{color:#858b96;opacity:1}textarea{display:block;resize:vertical;min-height:185px}select{cursor:pointer}.character-count{text-align:right;margin:8px 0 24px;font-size:17px;color:#796859}.submit-button{width:100%}.form-note{font-size:15px;text-align:center;margin-top:14px;color:#715c4a}.form-status{font-size:17px;margin-top:14px}.form-status:empty{display:none}.about-me{padding-top:75px;padding-bottom:90px}.portrait-row{display:flex;align-items:center;justify-content:center;gap:28px;margin:0 auto 70px}.portrait{width:324px;padding:12px 12px 30px;background:var(--cream);border:1px solid #e8c1a6;border-radius:12px;transform:rotate(-2deg)}.portrait:nth-child(2){transform:rotate(2deg);margin-top:20px}.portrait img{aspect-ratio:1;object-fit:cover;border-radius:8px}.portrait:nth-child(2) img{transform:scaleX(-1);filter:hue-rotate(15deg)}.about-me .eyebrow{font-size:28px;letter-spacing:.22em;margin-bottom:24px}.about-me .intro{margin-top:48px}.village{padding-top:70px;padding-bottom:140px}.village h2.eyebrow{font-family:var(--sans);color:#007774;font-size:18px;letter-spacing:.2em}.village .intro{margin-top:20px}.village .quote{font-size:46px;margin-top:36px}.village>.button{margin-top:60px}.site-footer{background:#edd8c4;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:60px 36px;font-size:17px}.site-footer .brand{color:var(--ink);display:inline-block;margin-bottom:10px}.footer-contact{display:flex;gap:24px;flex-wrap:wrap}.site-footer a:hover{text-decoration:underline;text-underline-offset:5px}.copyright{white-space:nowrap}.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}.skip-link{position:fixed;top:12px;left:12px;z-index:100;background:var(--cream);color:var(--ink);padding:10px 20px;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}
@media(min-width:1600px){.section{padding-inline:max(30px,calc((100% - 1450px)/2))}}
@media(max-width:1150px){.site-header{padding-inline:28px}.site-header nav{gap:24px}.site-header nav>a:not(.button){font-size:17px}.site-header .button{font-size:17px;padding:13px 18px}.brand{font-size:29px}.section{padding-block:90px}.practice{padding-bottom:30px}.services{padding-bottom:24px}.intro{font-size:21px}.site-footer{flex-wrap:wrap}.copyright{margin-left:auto}.footer-contact{font-size:16px}}
@media(max-width:800px){html{scroll-padding-top:88px}body{font-size:18px}.site-header{height:78px;padding-inline:22px}.brand{font-size:28px}.menu-toggle{display:flex;align-items:center;gap:10px;padding:10px 0 10px 12px;color:inherit;background:none;border:0;cursor:pointer;font-size:16px}.menu-lines{width:22px;height:14px;border-top:1.5px solid;border-bottom:1.5px solid;position:relative}.menu-lines:after{content:"";position:absolute;top:5px;left:0;width:22px;border-top:1.5px solid}.site-header nav{display:none;position:absolute;top:78px;left:0;right:0;padding:16px 24px 28px;align-items:stretch;gap:0;background:var(--cream);color:var(--ink);box-shadow:0 8px 12px #251c160c;border-bottom:1px solid var(--border)}.site-header.menu-open nav{display:flex;flex-direction:column}.site-header nav>a:not(.button){padding:12px 6px;font-size:19px}.site-header nav .button{margin-top:14px}.hero{min-height:660px;max-height:950px}.hero-content{padding-top:120px}.hero .eyebrow{font-size:15px;letter-spacing:.22em}.hero h1{font-size:clamp(52px,10vw,76px)}.hero-tagline{max-width:520px;margin:auto;font-size:28px}.hero-image{object-position:55% center}.scroll-link{margin-top:44px;width:56px;height:56px}.section{padding:76px 22px}h2{font-size:clamp(35px,6.5vw,52px)}h3{font-size:30px}.eyebrow,.welcome .eyebrow{font-size:15px}.desktop-break{display:none}.intro{font-size:19px}.welcome .button-row{margin-top:36px}.button{font-size:17px;padding:16px 24px}.practice{padding-bottom:22px}.practice .meaning-grid{margin:40px auto;gap:16px}.meaning-card{padding:26px 12px}.meaning-card h3{font-size:32px}.meaning-card h3 span{font-size:24px}.meaning-card p{font-size:18px}.quote{font-size:28px}.wide-image{margin-top:48px;padding:8px}.wide-image img{aspect-ratio:1.8}.services{padding-bottom:22px}.services .intro{margin-bottom:40px}.service summary{padding:28px}.service-title{font-size:29px}.service-icon{width:60px;height:60px;margin-bottom:22px}.expand-icon{right:28px;bottom:28px;width:38px;height:38px}.expand-icon:before,.expand-icon:after{left:12px;top:18px}.service-content{padding:0 28px 28px;font-size:18px}.language-note{font-size:18px;padding:22px 18px;margin-top:35px;gap:14px}.contact{padding-top:76px}.contact-invitation,.contact-links>a{font-size:19px}.contact-icon{width:48px;height:48px}.contact-links>a{gap:14px}.consultation-form{padding:28px;margin-top:40px}.form-grid{gap:18px}input,textarea,select{font-size:17px;padding:16px;min-height:58px}.portrait-row{gap:18px;margin-bottom:50px;max-width:600px}.portrait{width:45%;padding:9px 9px 22px}.about-me .eyebrow{font-size:21px}.about-me .intro{margin-top:32px}.village .quote{font-size:34px}.site-footer{padding:40px 22px;align-items:flex-start;gap:26px;font-size:15px}.footer-contact{flex-direction:column;gap:10px}.copyright{margin:0;width:100%}}
@media(max-width:480px){.hero{min-height:620px}.hero h1{font-size:54px;letter-spacing:-.035em}.hero-tagline{font-size:26px}.hero .eyebrow{font-size:12px}.section{padding-inline:18px}.button-row{flex-direction:column}.button-row .button{width:100%;padding-inline:12px;font-size:16px}.meaning-grid{grid-template-columns:1fr!important;gap:14px!important}.meaning-card{padding:24px 16px}.meaning-card h3{font-size:34px}.practice .quote{font-size:27px}.service summary{padding:24px}.service-title{font-size:27px;padding-right:45px}.expand-icon{right:22px;bottom:24px}.service-content{padding:0 24px 28px}.language-note{align-items:flex-start;text-align:left}.consultation-form{padding:24px 18px}.consultation-form h3{font-size:28px}.form-grid{grid-template-columns:1fr;gap:16px}.contact-links>a{font-size:16px}.portrait-row{gap:12px}.portrait{width:46%;padding:7px 7px 20px}.about-me .eyebrow{font-size:17px}.village .quote{font-size:30px}.village>.button{margin-top:40px}.site-footer p{max-width:320px}.form-note{font-size:13px}}
@media(max-width:480px){.site-header{gap:16px}.site-header .brand{font-size:26px}.hero h1{font-size:clamp(40px,12vw,54px)}}
/* Original artwork and the owner's Japanese birth stamp. */
.package-invitation{margin-top:28px;font-size:18px}
.package-invitation a{color:var(--deep-green);text-decoration:underline;text-underline-offset:4px}
.services-introduction{margin:36px auto 70px;max-width:1150px;font-size:23px;line-height:1.65}
.support-signature{font:italic 38px/1.35 var(--serif);color:var(--clay);margin-top:32px}
.heart{color:var(--clay);font-family:Arial,sans-serif}
.support-signature .heart{font-size:24px;margin-left:8px}
.credentials{max-width:720px;margin:32px auto;padding-left:25px;text-align:left;font-size:21px}
.credentials li+li{margin-top:10px}
@media(max-width:800px){.services-introduction{font-size:19px;margin-bottom:44px}.support-signature{font-size:32px}.credentials{font-size:19px}.package-invitation{font-size:16px}}
.brand,.brand-lockup{display:inline-flex;align-items:center;gap:.22em;vertical-align:middle;white-space:nowrap}
.brand-stamp{display:inline-block;width:1.1em;height:1.1em;object-fit:contain;flex:0 0 auto}
.site-footer .brand{display:inline-flex}
.hero-content{max-width:100%;min-width:0}
.hero-image{object-position:50% center}
.journey-image img,.village-image img{aspect-ratio:auto;height:auto;object-fit:contain}
.portrait img{aspect-ratio:4/5;object-position:center center}
.portrait:nth-child(2) img{transform:none;filter:none}
@media(max-width:800px){
  .hero h1{font-size:clamp(42px,8.8vw,70px)}
  #practice-title .brand-lockup{font-size:.9em}
}
@media(max-width:480px){
  .site-header{gap:10px;padding-inline:18px}
  .site-header .brand{font-size:23px}
  .site-header .brand-stamp{width:28px;height:28px}
  .menu-toggle{gap:8px;padding-left:4px;font-size:15px;flex-shrink:0}
  .hero-content{padding-inline:16px}
  .hero h1{font-size:clamp(33px,9.8vw,47px)}
  #practice-title .brand-lockup{font-size:.83em}
}
.field-help{display:block;margin:8px 2px 0;font-size:14px;line-height:1.5;color:var(--body)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
