/* A garden in a quiet breeze. Only decorative layers move. */
.hero .hero-copy{animation:none}
.hero{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:690px;padding:140px 42px 100px;overflow:hidden;isolation:isolate;background:#faf4e9}
.hero:before{inset:0;background:radial-gradient(ellipse at 5% 9%,#e0bbd242,transparent 46%),radial-gradient(ellipse at 96% 13%,#e0bbd24d,transparent 43%),radial-gradient(ellipse at 48% 91%,#efcfcb52,transparent 65%);border:1px solid #c9ac7a45}
.hero:after{height:5px;left:18%;right:18%;bottom:25px;background:linear-gradient(90deg,transparent,#c4a16b88,transparent)}
.hero-copy{position:relative;text-align:center;width:100%;max-width:650px;z-index:3;padding:0}
.hero-copy:before{margin-bottom:25px;letter-spacing:.18em}
.hero h1{font-size:clamp(37px,4.4vw,54px);line-height:1.7;letter-spacing:.08em;margin-bottom:22px}
.hero h1 em:after{height:6px;left:10%;right:10%;bottom:-3px;background:linear-gradient(90deg,transparent,#d98ca14d,transparent)}
.hero .eyebrow{font-size:14px;line-height:1.8;letter-spacing:.06em;max-width:36em;margin:0 auto 17px}
.hero-poem{font-size:18px;letter-spacing:.08em;margin-bottom:17px}
.hero .desc{font-size:16px;line-height:1.9}
.hero-cta{margin-top:25px;font-size:16px;min-height:54px;padding:14px 25px;box-shadow:3px 3px 0 #cbb17f7d}
.hero-footnote{font-size:14px;line-height:1.8;letter-spacing:.02em;margin:18px auto 0;max-width:32em}
.hero .hero-footnote--purchase{max-width:none;margin-top:25px;color:#625448;font-family:var(--serif)}
.purchase-label{display:flex;align-items:center;justify-content:center;gap:13px;font-size:15px;line-height:1.7;letter-spacing:.08em;color:#806338}
.purchase-label:before,.purchase-label:after{content:'';width:31px;height:1px;background:linear-gradient(90deg,transparent,#b58c46)}
.purchase-label:after{transform:rotate(180deg)}
.purchase-line{display:block;margin-top:6px;font-size:17px;line-height:1.8;letter-spacing:.04em}
.wind-garden{position:absolute;inset:0;pointer-events:none;z-index:1;overflow:hidden}
.wisteria-piece{position:absolute;top:-26px;width:310px;pointer-events:none;filter:drop-shadow(1px 5px 5px #80638712)}
.wisteria-piece--left{left:-54px;scale:-1 1;width:270px;top:-20px}
.wisteria-piece--right{right:-36px;width:330px}
.wisteria-piece img{width:100%;height:auto;display:block;transform-origin:54% 5%;will-change:transform}
.wisteria-piece--left img{transform-origin:50% 7%}
.wisteria-arrival{transform-origin:63% 12%;opacity:1}
.fragrance-halo{position:absolute;inset:-8% -10% 15%;opacity:0;pointer-events:none;background:radial-gradient(ellipse at 30% 20%,#cfafdf70,transparent 49%),radial-gradient(ellipse at 70% 30%,#efc7d467,transparent 49%),radial-gradient(ellipse at 50% 40%,#fff6dba6,transparent 57%);transform-origin:50% 25%}
.fragrance-trails{position:absolute;inset:0;width:100%;height:78%;pointer-events:none;opacity:0;overflow:visible;transform-origin:50% 25%}
.fragrance-trail{fill:none;stroke-width:1.3;stroke-linecap:round;vector-effect:non-scaling-stroke;filter:blur(.5px)}
.fragrance-trail--rose{stroke:#c183a588}.fragrance-trail--gold{stroke:#c4a36688}.fragrance-trail--lilac{stroke:#b09acb66}
.wind-lines{position:absolute;inset:17% -5% 0;width:110%;height:78%;color:#b58c46;opacity:.5;pointer-events:none;z-index:0;transform-origin:center}
.wind-line--faint{opacity:.35}
.garden-light{position:absolute;width:8px;height:12px;background:#e6c88a;clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);opacity:.6}
.drifting-petal{position:absolute;width:10px;height:17px;border-radius:80% 15% 75% 15%;background:linear-gradient(140deg,#f5e1e4,#cfa5c2);opacity:.4;transform:rotate(-35deg)}
.hero-controls{z-index:5;bottom:35px;right:20px;font-size:13px;min-height:40px;padding:7px 11px;background:#fff9efc9}
.section{overflow:visible}.section-title{position:relative}.section-title:after{content:'';align-self:center;flex:1;min-width:12px;height:1px;margin-left:5px;background:linear-gradient(90deg,#bd9b6080,transparent)}
.goal-choice:has(input:checked),.annual-choice:has(input:checked){background:linear-gradient(110deg,#f1d8df,#fbefe9)}
.plan[aria-checked=true]{background:linear-gradient(135deg,#efd4de,#faf0e4)}
.summary:after{color:#efd8a0}
@media(prefers-reduced-motion:no-preference){
 .garden-waiting .wisteria-arrival{opacity:0}
 .garden-opening .wisteria-arrival{animation:flower-unfurl 3.8s cubic-bezier(.18,.68,.26,1) both}
 .garden-opening .wisteria-piece--left .wisteria-arrival{animation-delay:.18s}
 .garden-opening .fragrance-halo{animation:fragrance-bloom 5.4s cubic-bezier(.19,.7,.27,1) both}
 .garden-opening .fragrance-trails{animation:fragrance-expand 5.4s ease-out .2s both}
 .garden-opening .fragrance-trail{stroke-dasharray:1;animation:fragrance-unravel 4.4s cubic-bezier(.24,.61,.34,1) .25s both}
 .garden-opening .fragrance-trail--gold{animation-delay:.55s}
 .garden-opening .fragrance-trail--lilac{animation-delay:.85s}
 @keyframes flower-unfurl{0%{opacity:0;transform:translate3d(-28%,28px,0) scale(.68) rotate(-8deg);filter:blur(7px)}28%{opacity:.7;filter:blur(2px)}72%{opacity:1;transform:translate3d(-1%,0,0) scale(1.025) rotate(.5deg);filter:blur(0)}100%{opacity:1;transform:translate3d(0,0,0) scale(1) rotate(0);filter:blur(0)}}
 @keyframes fragrance-bloom{0%{opacity:0;transform:translate3d(0,28px,0) scale(.52)}24%{opacity:.9}62%{opacity:.45}100%{opacity:0;transform:translate3d(0,-28px,0) scale(1.5)}}
 @keyframes fragrance-expand{0%{opacity:0;transform:translate3d(0,24px,0) scale(.78)}25%{opacity:.75}68%{opacity:.35}100%{opacity:0;transform:translate3d(0,-15px,0) scale(1.15)}}
 @keyframes fragrance-unravel{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
 .wisteria-piece--right img{animation:branch-right 8.5s ease-in-out infinite;animation-delay:-2s}
 .wisteria-piece--left img{animation:branch-left 11s ease-in-out infinite;animation-delay:-6s}
 .wind-lines{animation:wind-line-flow 13s ease-in-out infinite;animation-delay:-4s}
 .garden-light{animation:soft-sparkle 8s ease-in-out infinite;animation-delay:var(--delay)}
 .drifting-petal{animation:petal-flight 16s linear infinite;animation-delay:var(--delay)}
 .summary:after{animation:soft-sparkle 9s ease-in-out infinite}
 .goal-choice:has(input:checked),.annual-choice:has(input:checked){animation:choice-bloom .65s ease-out both}
 @keyframes branch-right{0%,100%{transform:rotate(-2.6deg) translate3d(-2px,0,0)}50%{transform:rotate(2.6deg) translate3d(3px,2px,0)}}
 @keyframes branch-left{0%,100%{transform:rotate(2.4deg) translate3d(2px,0,0)}50%{transform:rotate(-2.4deg) translate3d(-3px,3px,0)}}
 @keyframes wind-line-flow{0%,100%{transform:translate3d(-6px,-3px,0) rotate(-.6deg)}50%{transform:translate3d(7px,6px,0) rotate(.6deg)}}
 @keyframes petal-flight{0%{opacity:0;transform:translate3d(0,-15px,0) rotate(-35deg)}12%{opacity:.65}80%{opacity:.45}100%{opacity:0;transform:translate3d(var(--drift),135px,0) rotate(105deg)}}
 @keyframes choice-bloom{from{box-shadow:inset 3px 0 0 #c2829c,0 0 0 5px #d98ca100}35%{box-shadow:inset 3px 0 0 #c2829c,0 0 0 5px #d98ca126}to{box-shadow:inset 3px 0 0 #c2829c,0 0 0 5px #d98ca100}}
}
.motion-offscreen .wind-garden *,.motion-offscreen .wind-lines{animation-play-state:paused!important}
.static-motion .wind-garden *,.static-motion .wind-lines{animation:none!important}
.static-motion .drifting-petal{opacity:.3}
.static-motion .wisteria-arrival{opacity:1;transform:none;filter:none}
.static-motion .fragrance-halo,.static-motion .fragrance-trails{display:none}
@media(max-width:1000px){.hero{min-height:660px;padding:140px 28px 95px}.wisteria-piece--left{width:215px;left:-75px}.wisteria-piece--right{width:250px;right:-65px}.hero-copy{max-width:590px}.hero h1{font-size:42px}.hero-poem{font-size:17px}}
@media(max-width:720px){.hero{min-height:0;display:flex;align-items:center;padding:146px 17px 88px;margin-top:15px}.hero-copy{max-width:100%;text-align:center;padding:0}.hero-copy:before{font-size:11px;line-height:1.8;letter-spacing:.06em;margin:0 auto 18px;max-width:25em}.hero .eyebrow{font-size:15px;line-height:1.8;max-width:20em;letter-spacing:0;margin-bottom:17px}.hero h1{font-size:32px;letter-spacing:.02em;line-height:1.8;margin-bottom:18px}.hero-poem{font-size:16px;line-height:1.9;letter-spacing:0;margin-bottom:15px}.hero .desc{font-size:16px;line-height:1.9}.hero-cta{font-size:16px;min-height:56px;padding:14px 17px;margin-top:25px;gap:13px}.hero-footnote{font-size:14px;line-height:1.9;max-width:19em;letter-spacing:0;margin-top:17px}.wisteria-piece--left{width:180px;left:-46px;top:-24px}.wisteria-piece--right{width:205px;right:-51px;top:-24px}.wind-lines{inset:25% -35% 0;width:170%;height:70%;opacity:.35}.hero-controls{bottom:28px;right:12px;min-height:44px;font-size:13px;padding:8px 10px}.hero:after{bottom:18px;left:14%;right:14%}.garden-light{width:6px;height:10px}.drifting-petal{width:7px;height:12px}.section-title:after{display:none}}
@media(max-width:380px){.hero{padding:135px 11px 88px}.hero h1{font-size:29px}.hero .eyebrow{font-size:15px}.hero-poem{font-size:16px}.hero-cta{font-size:15px}.wisteria-piece--left{width:164px;left:-47px}.wisteria-piece--right{width:183px;right:-51px}}
@media(prefers-reduced-motion:reduce){.wisteria-piece img,.wind-lines,.garden-light,.drifting-petal{animation:none;will-change:auto}.hero-controls{display:none}.drifting-petal{opacity:.3}}
@media(prefers-reduced-motion:reduce){.wisteria-arrival{opacity:1;animation:none;transform:none;filter:none}.fragrance-halo,.fragrance-trails{display:none}}
@media print{.wind-garden,.wind-lines{display:none!important}.hero{min-height:0;padding:14px 0;background:white}.hero h1{font-size:25px}.hero-copy{max-width:none}.hero:before{display:none}}
@media screen and (max-width:720px){.hero{padding-top:185px}.wisteria-piece--left{width:165px;left:-46px}.wisteria-piece--right{width:190px;right:-51px}}
@media screen and (max-width:380px){.hero{padding-top:172px}.wisteria-piece--left{width:154px}.wisteria-piece--right{width:175px}}
@media screen and (max-width:720px){.hero .hero-footnote--purchase{margin-top:25px}.purchase-line{font-size:16px;letter-spacing:.02em}.purchase-label{gap:10px}}

/* Keep short Japanese phrases together, with room for large mobile text. */
.phrase{display:inline-block;max-width:100%;vertical-align:baseline;line-break:strict;word-break:normal;overflow-wrap:break-word}
.hero-copy,.section,.summary,.contact-section{line-break:strict;word-break:normal}
.section-title{align-items:flex-start}
.section-heading{display:block;flex:1;min-width:0}
.section-title:after{flex:0 1 42px;margin-top:18px}
.section-heading .page-tag{white-space:nowrap;margin-left:8px}
.hero .hero-footnote:not(.hero-footnote--purchase){max-width:none}
.tab .tab-name,.tab .tab-kind{font:inherit;color:inherit;opacity:1;margin:0;letter-spacing:inherit}
.tab .tab-name{display:inline-block}
.tab .tab-kind{display:inline-block;font-size:14px;white-space:nowrap}
.help,.plan-desc,.option p,.callout p,.note,.contact-guide{text-wrap:pretty}
.summary h2{line-height:1.65}
.consult-actions{padding-top:6px;border-top:1px solid #dcc19444}
.consult-guide{font-size:15px;line-height:1.9;color:#f1e1c2;margin:10px 0 0}
.summary #copy{margin-top:12px}
.summary .copy-status{min-height:0;margin:8px 0;font-size:14px;line-height:1.8}
.copy-status:empty{display:none}
.instagram-cta{display:flex;align-items:center;justify-content:center;gap:12px;position:relative;width:100%;min-height:64px;padding:15px 14px;border:1px solid #b7874a;background:linear-gradient(120deg,#f5e8ce,#e7cfa6);color:#234b64;text-align:center;text-decoration:none;font:600 17px/1.65 var(--sans);letter-spacing:.02em;box-shadow:3px 3px 0 #b58c463d}
.instagram-cta>svg{width:25px;height:25px;flex-shrink:0}
.instagram-cta>span:not(.sr-only){min-width:0}
.instagram-cta .phrase{display:block}
.instagram-cta .link-arrow{font-size:21px;flex-shrink:0}
.instagram-cta:hover{background:#f9ecd3;box-shadow:3px 3px 0 #b58c4680}
.instagram-cta:focus-visible,.goal-detail:focus-visible{outline:3px solid #b58c46;outline-offset:4px}
.summary .instagram-cta{margin-top:14px;color:#234b64;font-size:16px;gap:9px;padding:14px 10px}
.summary .contact-guide{font-size:14px;line-height:1.8;color:#f1e1c2;text-align:center;margin:13px 0 18px}
.summary #print{margin-top:0}
.contact-section{position:relative;text-align:center;border-top:1px solid #b58c4680;border-bottom:1px solid #b58c4680;background:radial-gradient(ellipse at 12% 15%,#e6d6e64d,transparent 55%),linear-gradient(130deg,#fffaf0,#f6e9e8);padding:46px 25px 35px;margin:10px 0 48px}
.contact-section:before{content:'✧';position:absolute;left:50%;top:-18px;transform:translateX(-50%);padding:0 13px;font-size:23px;line-height:1.5;color:#b58c46;background:var(--paper)}
.contact-kicker{font-size:12px;letter-spacing:.12em;color:#806338}
.contact-section h2{font:500 30px/1.8 var(--serif);color:#255573;margin:16px 0}
.contact-heading-line{display:block}
.contact-section>p{font-size:16px;line-height:1.9;margin:12px 0 24px;color:#665c56}
.contact-section .instagram-cta{max-width:380px;margin:0 auto}
.contact-section .contact-account{font-size:15px;letter-spacing:.03em;margin:16px 0 6px;color:#816548}
.contact-section .contact-guide{font-size:14px;margin:0}
.modal-actions .instagram-cta{max-width:350px}
@media screen and (max-width:720px){
 .tab{gap:0}
 .tab .tab-name{font-size:17px;line-height:1.7}
 .tab .tab-kind{font-size:14px;line-height:1.7}
 .hero .hero-footnote:not(.hero-footnote--purchase) .phrase{display:block}
 .contact-section{padding:35px 16px 28px;margin-bottom:35px}
 .contact-section h2{font-size:25px;letter-spacing:0}
 .contact-section>p{font-size:16px}
 .contact-section .contact-guide{font-size:14px}
 .instagram-cta{font-size:17px;min-height:76px}
 .summary .instagram-cta{font-size:17px}
 .summary .contact-guide{font-size:14px}
}
@media screen and (max-width:380px){.tab .tab-name{font-size:16px}.contact-section h2{font-size:24px}}
@media screen and (min-width:721px) and (max-height:850px){.summary{position:static}}
@media print{.contact-section,.consult-actions{display:none!important}}
