:root{--paper:#fbf7f2;--ink:#50474a;--muted:#766b6d;--rose:#925d6e;--pink:#f1e1e4;--sage:#e8ece2;--line:#ddd3cd;--lavender:#eee8f2}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Hiragino Maru Gothic ProN','Yu Gothic',Meiryo,sans-serif;line-height:1.95;font-size:15px}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid #926472;outline-offset:5px}button{border:0;background:transparent}p{margin:0 0 20px}h1,h2,h3,h4{font-weight:500;line-height:1.65;margin:0 0 24px}h2{font-size:36px;letter-spacing:.04em}h3{font-size:25px}small,.fine{font-size:12px;color:var(--muted);line-height:1.9}.fine{margin-top:22px}.eyebrow{font-family:Georgia,serif;font-size:12px;letter-spacing:.18em;color:var(--rose);margin-bottom:20px}.header{height:108px;display:flex;align-items:center;justify-content:space-between;padding:0 5.5%;border-bottom:1px solid #e9dfd8;background:#fbf7f2f5;position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:14px;font-family:Georgia,serif;font-size:23px;letter-spacing:.09em;line-height:1.3}.brand small{display:block;font-family:sans-serif;font-size:10px;letter-spacing:.13em;margin-top:9px}.brand-flower,.brand>span:first-child{font-size:38px;color:#a86c7d}.header nav{display:flex;gap:26px;align-items:center;font-size:12px}.header nav>a:hover{color:var(--rose)}.button{display:inline-flex;align-items:center;justify-content:center;gap:27px;background:var(--rose);color:white;border:1px solid var(--rose);border-radius:50px;padding:17px 27px;font-size:14px;line-height:1.5;transition:background .2s,transform .2s}.button:hover{background:#784859;transform:translateY(-2px)}.button span{font-size:20px;line-height:1}.button.small{padding:13px 20px;font-size:12px;gap:17px}.button.secondary{background:transparent;color:var(--rose);border-color:#b78a97}.button.secondary:hover{background:var(--pink)}.text-link{display:inline-flex;align-items:center;gap:28px;font-size:13px;padding:9px 0;border-bottom:1px solid #b998a0;color:var(--rose);line-height:1.8}.text-link:hover{color:#593441;border-color:#593441}.hero{max-width:1440px;margin:auto;display:grid;grid-template-columns:1.1fr 1fr;gap:7%;align-items:center;padding:65px 7% 85px}.hero h1{font-family:'Hiragino Mincho ProN','Yu Mincho',serif;font-size:clamp(43px,4.3vw,68px);line-height:1.6;letter-spacing:.055em;margin-bottom:25px}.hero h1 em{font-style:normal;color:var(--rose)}.hero-intro{font-size:14px;letter-spacing:.12em;margin:0 0 10px}.hero-description{font-size:14px;margin-bottom:30px;line-height:2.1}.hero .text-link{display:table;margin-top:18px}.hero-caption{font-size:10px;letter-spacing:.02em;color:var(--muted);margin:28px 0 0}.hero-visual{position:relative;margin-right:13px}.hero-visual img{width:100%;height:min(660px,51vw);object-fit:cover;display:block;border-radius:230px 230px 15px 15px}.image-note{position:absolute;bottom:32px;left:-32px;background:#fffcf4eb;padding:14px 28px;transform:rotate(-4deg);font-family:Georgia,serif;font-style:italic;color:#7f6162;font-size:24px}.orbit-word{position:absolute;right:-34px;top:32%;writing-mode:vertical-rl;font-size:11px;letter-spacing:.3em}.intro-ribbon{background:#ede8e0;display:flex;gap:4%;justify-content:center;align-items:center;padding:22px;font-size:13px;letter-spacing:.14em}.intro-ribbon i{font-size:24px;color:#a7868c;font-style:normal}.section{padding:100px max(7%,calc((100vw - 1200px)/2));scroll-margin-top:10px}.about{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding-top:120px;padding-bottom:120px}.signature{font-family:serif;font-size:19px;color:var(--rose);margin-top:30px}.prose p{line-height:2.2}.prose .muted{font-size:12px;color:var(--muted)}.saori-name{font-family:serif;font-size:20px}.saori-name small{margin-left:18px;font-family:Georgia,serif}.section-heading{text-align:center;margin-bottom:45px}.section-heading p:not(.eyebrow){font-size:14px;color:var(--muted)}.section-heading.left{text-align:left}.finder{background:#f4ecee}.choice-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.choice-grid a{text-align:left;background:#fbf8f5;padding:26px 22px;position:relative;border:1px solid transparent;border-radius:65px 65px 8px 8px;min-height:240px;transition:transform .2s,background .2s}.choice-grid a:hover{transform:translateY(-5px)}.choice-grid a[aria-pressed=true]{border-color:var(--rose);background:#fff}.choice-grid a>span{display:block;color:var(--rose);font-family:Georgia,serif;font-size:23px;margin-bottom:20px}.choice-grid strong{font-size:18px;font-weight:500;line-height:1.8;display:block}.choice-grid small{font-size:10px;display:block;margin-top:15px}.choice-grid i{position:absolute;right:20px;top:30px;font-size:20px;font-style:normal;color:var(--rose)}.centered{text-align:center}.recommendation{border-top:1px solid #d4bbc3;margin-top:30px;padding-top:30px;display:flex;align-items:center;justify-content:space-between;gap:30px}.recommendation[hidden]{display:none}.recommendation h3{margin-bottom:10px}.recommendation p{margin-bottom:5px;max-width:700px}.recommendation .button{flex-shrink:0}.service-feature{display:grid;grid-template-columns:100px 1fr 310px;gap:40px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:45px 0}.service-number{font-family:Georgia,serif;font-size:50px;color:var(--rose);line-height:1}.service-number span{font-size:10px;display:block;letter-spacing:.15em;margin-top:15px}.service-feature h3{font-size:32px;margin-bottom:18px}.service-feature p:not(.eyebrow){font-size:14px;line-height:2}.checks{padding-left:20px;font-size:12px}.checks li::marker{color:var(--rose)}.service-price{align-self:center}.service-price p strong{font-family:Georgia,serif;font-size:40px;font-weight:400}.service-price>small{display:block;margin-top:16px}.plans-heading{display:flex;justify-content:space-between;align-items:center;margin:60px 0 24px}.plans-heading h3,.plans-heading p{margin:0}.plans-heading p{font-size:12px;color:var(--muted)}.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.plan{padding:32px;background:#fffdfa;border-top:3px solid #c69aa6;border-radius:4px 4px 20px 20px;display:flex;flex-direction:column}.plan:nth-child(2){border-color:#b4a5c3;background:#f5f0f7}.plan:nth-child(3){border-color:#a3b197;background:#eff1e9}.plan h4{font-size:24px;margin-bottom:15px}.plan p{font-size:13px}.plan .price{min-height:51px;display:flex;align-items:baseline;gap:5px;line-height:1.5}.price strong{font-family:Georgia,serif;font-size:37px;font-weight:400}.plan .ask-price{font-size:16px;padding-top:10px}.plan ul{padding:20px 0 20px 15px;border-top:1px solid #ded4d7;font-size:12px;flex:1;margin:0}.plan .text-link{font-size:12px;justify-content:space-between}.ritual{background:#e9ebe2}.ritual-inner{max-width:1100px;margin:auto;padding:75px 4%;display:grid;grid-template-columns:1fr 1fr;gap:13%;align-items:center}.dates{display:flex;align-items:baseline;justify-content:center;gap:25px;flex-wrap:wrap}.dates>span{font-family:Georgia,serif;font-size:120px;line-height:1.1;color:#79846d}.dates small{font-size:23px;color:#79846d}.dates>i{font-family:Georgia,serif;font-size:36px;color:#8e977f;font-style:normal}.dates p{flex-basis:100%;text-align:center;font-size:14px;letter-spacing:.15em;margin-top:15px}.ritual h2{font-size:31px}.ritual p:not(.eyebrow){font-size:13px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;list-style:none;padding:0;margin:0}.steps span{display:block;font-family:Georgia,serif;font-size:36px;color:#b28090;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:22px}.steps h3{font-size:18px;margin-bottom:15px}.steps p{font-size:13px;color:var(--muted)}.family{text-align:center;background:#f3edf4}.family h2{font-size:32px}.family>p{font-size:14px}.family .fine{font-size:12px}.journal-body{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.journal-art{background:#e9ddd1;aspect-ratio:1.5;position:relative;padding:35px 50px;border-radius:120px 5px 5px 5px}.journal-art>span{font-family:Georgia,serif;font-style:italic;font-size:55px;line-height:1.25;color:#8b6770}.journal-art i{font-size:100px;position:absolute;right:55px;bottom:5px;font-style:normal;color:#a9aa91}.journal-body h3{font-size:27px}.journal-body p:not(.eyebrow){font-size:14px}.business{background:#eee8df;display:grid;grid-template-columns:1fr 1.2fr;gap:10%}.business>div>p:not(.eyebrow){font-size:14px}.business-options article{padding:0 0 28px;margin-bottom:28px;border-bottom:1px solid #cbbeb7}.business-options h3{margin-bottom:8px}.business-price{font-family:Georgia,serif;font-size:23px;margin-bottom:16px}.business-price small{font-family:sans-serif;margin-left:12px;font-size:10px}.business-options article>p:not(.business-price){font-size:13px}.faq{max-width:1100px;margin:auto;padding-left:7%;padding-right:7%}.faq details{border-bottom:1px solid var(--line);padding:22px 0}.faq summary{list-style:none;cursor:pointer;position:relative;padding-right:45px;font-size:15px}.faq summary::-webkit-details-marker{display:none}.faq summary::before{content:'Q';font-family:Georgia,serif;color:var(--rose);margin-right:20px;font-size:19px}.faq summary::after{content:'+';position:absolute;right:5px;font-size:22px;color:var(--rose)}.faq details[open] summary::after{content:'−'}.faq details p{margin:18px 0 0 38px;color:var(--muted);font-size:13px}.contact{text-align:center;background:#efe0e5}.contact h2{font-size:32px}.contact .button{margin-top:15px}.contact .fine{font-size:11px}footer{padding:65px 7% 30px}.footer-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:35px}.footer-top>div{display:flex;gap:28px;font-size:12px}footer>.fine{max-width:1000px;font-size:11px}footer>small{display:block;text-align:right;margin-top:25px;font-family:Georgia,serif}.menu-toggle{display:none}.skip{position:absolute;top:-80px}.skip:focus{top:10px;left:10px;background:white;padding:15px;z-index:50}dialog{border:0;border-radius:20px;background:var(--paper);padding:45px;width:min(640px,92vw);color:var(--ink);box-shadow:0 20px 80px #42343b44}dialog::backdrop{background:#2e252966;backdrop-filter:blur(4px)}dialog h2{font-size:28px}dialog p{font-size:14px}dialog label{display:block;font-size:12px;margin-bottom:8px}textarea{width:100%;border:1px solid #c9b3bb;border-radius:8px;background:white;color:var(--ink);padding:15px;resize:vertical}.dialog-close{position:absolute;right:18px;top:10px;font-size:32px}.dialog-actions{display:flex;gap:15px;margin-top:24px}.dialog-actions .button{font-size:12px;padding:13px 18px}.dialog-actions a{flex:1}
@media(min-width:1600px){.hero{padding-left:4%;padding-right:4%}}@media(max-width:1100px){.header{padding:0 4%;height:90px}.header nav{gap:16px}.header nav>a{font-size:11px}.brand{font-size:20px}.header .brand small{font-size:9px}.service-feature{grid-template-columns:60px 1fr;gap:25px}.service-price{grid-column:2}.choice-grid strong{font-size:16px}.choice-grid a{padding:23px 16px}.plans{gap:13px}.plan{padding:25px 20px}.section{padding-left:6%;padding-right:6%}.hero{padding-left:6%;padding-right:6%;gap:5%}.steps{gap:20px}.steps h3{font-size:16px}}
@media(max-width:800px){html{scroll-padding-top:82px}.header{height:80px;padding:0 6%}.brand{font-size:19px}.brand-flower,.brand>span:first-child{font-size:30px}.menu-toggle{display:block;font-size:12px;border-bottom:1px solid var(--rose);padding:6px}.header nav{display:none;position:absolute;top:80px;left:0;right:0;padding:25px;background:var(--paper);box-shadow:0 12px 20px #513d4b12;align-items:stretch}.header nav.open{display:flex;flex-direction:column}.header nav>a{font-size:14px;padding:8px}.hero{padding:45px 7% 55px;grid-template-columns:1fr;gap:35px}.hero h1{font-size:46px}.hero .eyebrow{font-size:10px}.hero-description{font-size:13px}.hero-visual{width:80%;margin:0 auto}.hero-visual img{height:440px;border-radius:190px 190px 12px 12px}.image-note{left:-15px;bottom:25px;font-size:20px}.hero-caption{margin-top:24px}.intro-ribbon{font-size:10px;gap:12px;padding:18px 12px;letter-spacing:0}.intro-ribbon i{font-size:18px}.section{padding:70px 7%}.about{grid-template-columns:1fr;gap:25px}.about .signature{margin-top:10px}h2{font-size:29px}.prose p{font-size:14px}.choice-grid{grid-template-columns:1fr 1fr;gap:12px}.choice-grid a{min-height:205px;padding:24px 18px;border-radius:45px 45px 8px 8px}.choice-grid strong{font-size:16px}.choice-grid a>span{font-size:20px;margin-bottom:12px}.choice-grid small{font-size:10px}.recommendation{display:block}.recommendation .button{margin-top:20px}.recommendation h3{font-size:23px}.recommendation p{font-size:13px}.section-heading p:not(.eyebrow){font-size:13px}.service-feature{grid-template-columns:1fr;gap:20px;padding:30px 0}.service-number{font-size:32px;display:flex;align-items:center;gap:15px}.service-number span{margin:0}.service-price{grid-column:1}.service-feature h3{font-size:28px}.plans-heading{display:block;margin-top:45px}.plans-heading h3{font-size:22px}.plans-heading p{margin-top:10px}.plans{grid-template-columns:1fr;gap:22px}.plan{padding:30px}.plan .price{min-height:0}.plan ul{padding-bottom:25px}.ritual-inner{grid-template-columns:1fr;padding:55px 7%;gap:25px}.dates{gap:20px}.dates>span{font-size:92px}.ritual-inner>div:last-child{text-align:center}.ritual h2{font-size:29px}.steps{grid-template-columns:1fr 1fr;gap:25px}.steps span{padding-bottom:10px;margin-bottom:14px}.steps h3{font-size:15px}.steps p{font-size:12px}.family h2{font-size:28px}.journal-body{grid-template-columns:1fr;gap:30px}.journal-art{aspect-ratio:1.6;padding:35px}.journal-art span{font-size:48px}.business{grid-template-columns:1fr;gap:30px}.business h2{font-size:29px}.business-options h3{font-size:23px}.business-price small{display:block;margin:4px 0 0}.faq{padding-left:7%;padding-right:7%}.faq summary{font-size:13px;padding-right:25px}.faq summary::before{margin-right:10px}.faq details p{margin-left:25px}.contact h2{font-size:26px}.footer-top{display:block}.footer-top>div{margin-top:25px;flex-direction:column;gap:12px}footer{padding:45px 7% 25px}.dialog-actions{flex-direction:column}dialog{padding:36px 24px}dialog h2{font-size:25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media(min-width:801px) and (max-width:1100px){.about h2{font-size:28px;letter-spacing:0}.about{gap:7%}.prose p{font-size:13px}.business h2{font-size:29px}}@media(max-width:420px){.hero h1{font-size:39px}.about h2{font-size:25px;letter-spacing:0}.hero-visual{width:88%}.hero-visual img{height:370px}.choice-grid strong{font-size:14px}.choice-grid small{font-size:9px}.choice-grid a{padding:22px 15px}.intro-ribbon{font-size:9px;gap:8px}.plans-heading h3{font-size:20px}.contact h2{font-size:24px}}

/* Plan pricing */
.plan .plan-frequency{font-size:12px;color:var(--muted);margin:0 0 5px}.plan .price{margin-bottom:18px;flex-wrap:wrap}.course-prices{margin:0 0 12px;padding:0;border-top:1px solid #d6c9ce}.course-prices>div{padding:14px 0;border-bottom:1px solid #d6c9ce}.course-prices dt{font-size:12px;margin-bottom:5px}.course-prices dd{margin:0;font-size:13px}.course-prices dd strong{font-family:Georgia,serif;font-size:25px;font-weight:400;letter-spacing:.01em}.course-prices dd span{display:block;font-size:12px;color:var(--muted);margin-top:2px}.plan .plan-tax{font-size:11px;margin-bottom:20px}.plan .plan-schedule{font-size:12px;color:var(--muted);margin:16px 0 20px}.plan ul{border-top:0;padding-top:0}.plan .text-link{margin-top:auto}

/* Gift and three-month plans */
.extra-plans{background:#f6efe9}.extra-plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.extra-plan{padding:36px;background:#fffdfa;border:1px solid #e4d4d7;border-radius:12px 12px 50px 12px;display:flex;flex-direction:column}.intensive-plan{background:#f0f2eb;border-color:#d4dbcb;border-radius:12px 12px 12px 50px}.extra-plan-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:22px}.extra-plan-top .eyebrow{font-size:10px;margin:0}.plan-badge{font-size:11px;padding:4px 12px;border:1px solid #d5bcc5;border-radius:20px;white-space:nowrap}.intensive-plan .plan-badge{border-color:#b8c2ac}.extra-plan .extra-plan-lead{font-family:Georgia,"Yu Mincho",serif;font-size:24px;line-height:1.8;color:var(--rose);margin:0 0 20px}.intensive-plan .extra-plan-lead{color:#68755e}.extra-plan h3{font-size:22px;line-height:1.65;min-height:73px;margin-bottom:14px}.extra-plan>p{font-size:13px;line-height:1.95}.extra-prices{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:10px 0 20px;padding:20px 0;border-top:1px solid #d8cdca;border-bottom:1px solid #d8cdca;min-height:113px}.extra-prices dt{font-size:12px;margin-bottom:7px}.extra-prices dd{margin:0;font-size:13px;white-space:nowrap}.extra-prices dd strong{font-family:Georgia,serif;font-size:31px;font-weight:400}.extra-prices dd small{font-size:11px}.single-price{grid-template-columns:1fr}.extra-plan .extra-schedule{font-size:12px;color:var(--muted)}.extra-for{margin:5px 0 15px}.extra-for h4{font-size:13px;margin:0 0 8px}.extra-for ul{padding-left:18px;font-size:13px;line-height:1.9;margin:0}.extra-plan>.fine{font-size:11px}.extra-actions{display:flex;align-items:flex-start;flex-direction:column;gap:18px;margin-top:auto;padding-top:12px}.extra-actions .button{font-size:13px;padding:14px 20px;gap:16px}.extra-actions .text-link{font-size:12px}.extra-price-note{margin:22px 0 0}.extra-jump{font-size:13px;margin-top:10px}@media(max-width:1100px){.extra-plan{padding:28px}.extra-plan .extra-plan-lead{font-size:21px}.extra-plan h3{font-size:20px}.extra-prices{gap:10px}.extra-prices dd strong{font-size:27px}}@media(max-width:800px){.extra-plan-grid{grid-template-columns:1fr;gap:24px}.extra-plan{padding:28px 24px}.extra-plan h3{min-height:0}.extra-plan .extra-plan-lead{font-size:22px}.extra-actions .button{font-size:12px}.extra-plan-top{gap:10px}.extra-prices dd strong{font-size:29px}}

/* choice links + plan number */
.choice-grid a{display:block;color:inherit}.plans-lead{display:flex;align-items:center;gap:28px}.plans-lead h3{margin:0}.plans-heading .service-number span{margin-top:10px}@media(max-width:800px){.plans-lead{gap:16px}.plans-heading .service-number{font-size:32px;display:block}.plans-heading .service-number span{display:inline;margin:0 0 0 10px}}

/* family section */
.family .service-number{justify-content:center;margin-bottom:14px}.family .service-number span{margin-top:10px}.family-actions{display:flex;justify-content:center;align-items:center;gap:32px;flex-wrap:wrap;margin-top:28px}.family .family-actions .text-link{font-size:13px}

/* links + dialog */
.link-row{display:flex;gap:34px;flex-wrap:wrap}.dialog-actions{flex-wrap:wrap}.dialog-actions .button{flex:1 1 180px}

/* line-break tuning for Japanese text */
body{line-break:strict;word-break:auto-phrase}
h1,h2,h3,h4,.signature,.extra-plan-lead,summary,.choice-grid strong,.hero-description{text-wrap:balance}
p,li,dd{text-wrap:pretty}
.hero h1 em{display:inline-block;white-space:nowrap}
.signature span,.choice-grid strong span{display:inline-block}
