/* Heartwood, three perspectives, and a guided conversation. */
[hidden]{display:none!important}html{scroll-padding-top:32px}body{overflow-wrap:break-word}.hero-v2 .hero-copy{left:7%;top:49%;right:30%;transform:translateY(-35%)}.hero-v2 h1{font-size:clamp(35px,4.45vw,72px);letter-spacing:.025em;line-height:1.8;white-space:nowrap}.hero-v2 .hero-kicker{font-size:13px;letter-spacing:.15em}.hero-v2 .hero-lead{font-size:15px;line-height:2.2}.hero-v2 .hero-photo{object-position:64% 50%}.hero-v2 .hero-shade{background:linear-gradient(90deg,#111827e8 0%,#111827c2 35%,#11182750 63%,#11182720),linear-gradient(0deg,#111827bd,transparent 50%,#11182780)}.hero-v2 .vertical{right:4%;top:24%;font-size:14px}.hero-triad{position:absolute;right:9%;top:51%;width:245px;height:245px;border:1px solid #f9fafb66;border-radius:50%;animation:triad-reveal 1.7s .65s both;box-shadow:0 0 70px #e5e7eb0d,inset 0 0 60px #e5e7eb17;color:#f9fafb}.hero-triad span{position:absolute;display:grid;place-items:center;width:72px;height:72px;border-radius:50%;border:1px solid #e5e7eb77;font-family:var(--serif);font-size:30px;background:radial-gradient(circle at 30% 20%,#e5e7eb2e,#111827b3);backdrop-filter:blur(5px)}.hero-triad span:nth-child(1){left:86px;top:-36px}.hero-triad span:nth-child(2){left:-18px;bottom:10px}.hero-triad span:nth-child(3){right:-18px;bottom:10px}.hero-triad p{position:absolute;inset:40px 0;display:grid;place-content:center;text-align:center;font-family:var(--serif);font-size:17px;line-height:2;letter-spacing:.12em}.hero-bottom{font-size:11px}.hero-bottom a{font-size:10px}.header .brand-sub{font-size:11px}.header nav{font-size:13px}.hero-mark{color:#ffffff0b}.guide{padding-top:85px;padding-bottom:85px;background:radial-gradient(ellipse at 80% 10%,#f9fafb,transparent 65%),var(--paper)}.guide-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:35px}.guide-tabs button{border:1px solid #e5e7eb;padding:20px 18px;display:flex;align-items:center;gap:15px;background:linear-gradient(140deg,#ffffff,#f9fafb);box-shadow:0 4px 0 #e5e7eb;border-radius:2px 20px 2px 20px;font-family:var(--serif);font-size:19px;transition:background .3s,box-shadow .2s,color .3s}.guide-tabs button>span{font-size:12px;color:#6b7280;font-family:var(--sans)}.guide-tabs button>i{font-style:normal;margin-left:auto}.guide-tabs [aria-selected="true"]{color:#f9fafb;background:linear-gradient(130deg,#4b5563,#111827);border-color:#4b5563;box-shadow:0 4px 0 #111827,0 9px 24px #1118271b}.guide-tabs [aria-selected="true"]>span{color:#e5e7eb}.guide-panel{display:grid;grid-template-columns:1.03fr 1fr;gap:7%;align-items:center;animation:panel-arrive .65s cubic-bezier(.16,1,.3,1) both}.guide-panel+ .guide-panel:not([hidden]){margin-top:40px}.guide-panel figure{position:relative}.guide-panel figure img{height:440px;object-fit:cover;border-radius:2px 70px 2px 2px}.guide-panel figcaption{position:absolute;bottom:0;left:0;right:0;padding:18px 22px;background:linear-gradient(0deg,#111827e6,#11182700);color:#ffffff;font-size:12px;padding-top:60px}.guide-copy h3{font-size:clamp(25px,2.5vw,36px);line-height:1.8}.guide-copy>p:not(.eyebrow){font-size:14px;line-height:2;margin-top:20px;color:#4b5563}.guide-copy .guide-goal{padding:16px 0;border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb}.guide-goal span{display:block;font-size:11px;color:#6b7280;letter-spacing:.1em;margin-bottom:6px}.guide-links{display:flex;flex-wrap:wrap;gap:5px 18px;margin:12px 0 24px}.guide-links .text-link{font-size:12px;padding:8px 0}.guide-to-check{font-size:13px;gap:22px}.story h2{font-size:clamp(29px,3.2vw,45px)}.story-title>p:not(.eyebrow),.bridge p:not(.eyebrow){font-size:15px}.eyebrow{font-size:12px}.section-heading>p{font-size:14px}.care-body>p:not(.eyebrow){font-size:14px;line-height:2.1}.care-label{font-size:12px}.care-bottom>span{font-size:12px;max-width:220px}.owner-copy>p:not(.eyebrow){font-size:14px}.owner-copy .owner-quote{border-left:2px solid #b02b5c;padding-left:22px}.owner-photo{overflow:hidden}.review blockquote{font-size:15px}.review-num{font-size:12px}.review h3{font-size:22px}.review{padding-right:12px}.faq-list summary{font-size:16px;min-height:76px}.answer{font-size:15px}.note{font-size:12px;color:#6b7280}.check-intro>p:not(.eyebrow){font-size:14px}.check-item{font-size:15px;min-height:90px}.check-item small{font-size:11px}.check-panel{padding:34px}.check-result p+p{font-size:14px;color:#4b5563}.check-top{font-size:11px;align-items:center;gap:15px}.check-top span:first-child{max-width:75%}.check-result p:first-child{font-size:22px;line-height:1.8}.tree-stage{max-width:315px}.tree-stage svg{overflow:visible}.tree-stage.complete:before{content:'';position:absolute;inset:0;border:1px solid #b02b5c;border-radius:50%;box-shadow:0 0 60px #e5e7eb35;animation:tree-halo 1.5s ease-out both}.tree-stage.complete .leaf{fill:#6b7280}.tree-stage.complete .trunk{stroke:#b02b5c}.tree-word{font-size:13px}.care-suggestions{margin-top:15px;display:flex;flex-wrap:wrap;gap:10px}.care-suggestions>p{width:100%;font-size:12px;color:#4b5563}.care-chip{font-size:12px;padding:10px 12px;border:1px solid #e5e7eb;background:linear-gradient(120deg,#ffffff,#f9fafb);box-shadow:0 3px 0 #e5e7eb;border-radius:2px 12px 2px 12px}.care-suggestions .text-link{font-size:12px;width:max-content}.completion{position:relative;margin:25px -12px 0;padding:25px 16px;text-align:center;background:radial-gradient(ellipse at 50% 0,#e5e7eb,#f9fafb);border:1px solid #b02b5c;border-radius:3px 28px 3px 28px;animation:completion-arrive .9s cubic-bezier(.16,1,.3,1) both;overflow:hidden}.completion:after{content:'';position:absolute;inset:-90% -50%;background:conic-gradient(from 0deg,transparent 0deg,#ffffff88 25deg,transparent 60deg,transparent 160deg,#ffffff77 185deg,transparent 210deg);animation:completion-light 3s ease-out both;pointer-events:none}.completion>span,.completion p,.completion small{position:relative;z-index:1}.completion>span{letter-spacing:.3em;font-family:var(--serif);font-size:14px;color:#b02b5c}.completion p{font-family:var(--serif);font-size:19px;margin:10px 0}.completion small{font-size:12px;color:#4b5563;display:block}.copy-status{font-size:13px;line-height:1.8;color:#4b5563}.copy-status:empty{display:none}.manual-copy{margin-top:20px}.manual-copy label{font-size:12px;display:block;margin-bottom:8px}textarea{font:inherit;font-size:14px;line-height:1.9;padding:15px;width:100%;resize:vertical;background:#ffffff;border:1px solid #e5e7eb;border-radius:3px;color:var(--ink)}textarea:focus-visible{outline:2px solid #b02b5c;outline-offset:3px}.check-actions .text-link{font-size:13px}.check-actions .btn{font-size:14px}.check-panel>.text-link{font-size:12px;margin-top:16px}.consultation{background:radial-gradient(ellipse at 20% 60%,#f9fafb,transparent 70%)}.consultation-layout{display:grid;grid-template-columns:.9fr 1fr;gap:9%;align-items:start}.consultation-layout figure{position:sticky;top:30px}.consultation-layout figure img{height:540px;object-fit:cover;object-position:50% 35%;border-radius:130px 3px 3px 3px}.consultation-layout figcaption{font-size:12px;margin-top:18px;line-height:1.8}.consultation-steps article{display:flex;align-items:start;gap:25px;padding:30px 0;border-top:1px solid #e5e7eb}.consultation-steps article>span{font-family:var(--serif);font-size:30px;color:#6b7280}.consultation-steps h3{font-size:24px}.consultation-steps p{font-size:14px;margin-top:12px;line-height:2;color:#4b5563}.consultation-steps .text-link{margin-top:12px;font-size:13px}.consultation-steps .btn{margin-top:20px}.consultation-steps article>div{min-width:0;width:100%}.booking-message{margin-top:15px}.booking-copy-status:empty{display:none}.access-copy>p:not(.eyebrow),.access .note{font-size:13px}.contact p:not(.eyebrow){font-size:15px}.contact .text-link{font-size:12px}footer p,footer>div{font-size:12px}footer small{font-size:11px}.page-hero p:last-child{font-size:14px}.gallery-section .section-heading>p{font-size:12px}.gallery-photo img[src*="gallery6"]{rotate:180deg}.gallery-photo:hover img[src*="gallery6"]{transform:scale(1.08)}#photo-dialog img[data-orientation="upside"]{rotate:180deg}#photo-dialog .close-dialog{font-size:14px;min-height:44px}dialog p{font-size:14px}.petal-gold{background:linear-gradient(45deg,#b02b5c,#f9fafb,#6b7280)}
/* Transform-independent press feedback preserves each element's reveal and layout. */
.tactile{transition-property:scale,translate,box-shadow,filter,background-color;transition-duration:.19s;touch-action:manipulation}.tactile.is-down,.tactile:active{scale:.975;translate:0 3px;filter:brightness(.96)}.tactile.pressed{animation:control-return .36s cubic-bezier(.2,.9,.25,1.3)}.btn.is-down,.btn:active,.btn.pressed,.btn.small.is-down,.btn.small:active,.btn.small.pressed,.mobile-dock .btn.is-down,.mobile-dock .btn:active{transform:none;translate:0 4px;box-shadow:0 0 0 #6b7280,inset 0 3px 10px #4b556344}.tactile:not(.btn):is(.is-down,:active){box-shadow:inset 0 2px 5px #11182722}.tactile.control-arrived{animation:control-arrive .65s cubic-bezier(.16,1,.3,1) both}.tactile.control-arrived.pressed{animation:control-return .36s cubic-bezier(.2,.9,.25,1.3)}.tactile.control-arrived.is-down{animation:none}.sound,.menu-toggle{min-width:44px;min-height:44px}.sound{font-size:11px}.text-link{min-height:44px}.js-motion .reveal{transition-delay:var(--stagger,0ms)}.js-motion .reveal-photo{opacity:0;transform:translateY(20px) scale(.96);clip-path:inset(8% 0 5% 0);transition:opacity 1.1s,transform 1.4s cubic-bezier(.16,1,.3,1),clip-path 1.4s cubic-bezier(.16,1,.3,1)}.js-motion .reveal-photo.visible{opacity:1;transform:none;clip-path:inset(0)}.js-motion .reveal-words{transform:translateX(35px);transition:opacity 1.2s,transform 1.2s cubic-bezier(.16,1,.3,1)}.js-motion .reveal-words.visible{transform:none}.guide-panel:focus-visible{outline:2px solid #b02b5c;outline-offset:8px}.guide-panel:focus:not(:focus-visible){outline:0}.guide-tabs button:focus-visible{outline:3px solid #b02b5c;outline-offset:5px}
@keyframes control-arrive{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}@keyframes control-return{0%{scale:.97;translate:0 3px}60%{scale:1.02;translate:0 -1px}100%{scale:1;translate:0 0}}@keyframes triad-reveal{from{opacity:0;transform:rotate(-12deg) scale(.75)}to{opacity:1;transform:none}}@keyframes panel-arrive{from{opacity:.2;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes tree-halo{from{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1.05)}}@keyframes completion-arrive{from{opacity:0;transform:translateY(20px) scale(.93)}to{opacity:1;transform:none}}@keyframes completion-light{from{transform:rotate(-130deg);opacity:0}30%{opacity:.7}to{transform:rotate(30deg);opacity:0}}
@media(max-width:1150px){.hero-triad{right:8%;width:185px;height:185px;top:57%}.hero-triad span{width:56px;height:56px;font-size:25px}.hero-triad span:nth-child(1){left:64px;top:-27px}.hero-triad span:nth-child(2){left:-13px;bottom:10px}.hero-triad span:nth-child(3){right:-13px;bottom:10px}.hero-triad p{font-size:14px;inset:24px 0}.hero-v2 .hero-copy{right:22%}.guide-tabs button{padding:17px 13px;font-size:16px;gap:10px}.guide-copy h3{font-size:27px}.guide-panel figure img{height:430px}.check-panel{padding:28px}.care-bottom>span{max-width:160px}.consultation-layout{gap:6%}.consultation-steps h3{font-size:21px}}
@media(max-width:760px){.header{height:82px;padding:0 5%}.header .brand-sub{font-size:9px;letter-spacing:0}.brand-kanji{font-size:32px}.tools{gap:4px}.header nav{top:82px;font-size:15px}.sound{width:42px;height:42px;font-size:10px}.hero-v2{height:96svh;min-height:710px;max-height:900px}.hero-v2 .hero-photo{object-position:66% 44%}.hero-v2 .hero-copy{left:7%;right:6%;top:45%;transform:translateY(-32%)}.hero-v2 h1{font-size:clamp(29px,7.3vw,49px);line-height:1.85;letter-spacing:0;white-space:nowrap}.hero-v2 h1 span:first-child{font-size:1.27em;line-height:1.6}.hero-v2 .hero-kicker{font-size:11px;letter-spacing:.08em;margin-bottom:26px}.hero-v2 .hero-lead{font-size:13px;line-height:2.2;margin-top:24px}.hero-actions{gap:24px;margin-top:30px}.hero-actions .btn{font-size:13px;min-width:250px}.hero-check{font-size:12px}.hero-v2 .vertical{font-size:11px;top:16%;right:5%;letter-spacing:.15em}.hero-triad{top:auto;bottom:69px;right:10%;width:91px;height:91px;opacity:.7}.hero-triad span{width:29px;height:29px;font-size:14px}.hero-triad span:nth-child(1){left:31px;top:-14px}.hero-triad span:nth-child(2){left:-6px;bottom:5px}.hero-triad span:nth-child(3){right:-6px;bottom:5px}.hero-triad p{font-size:8px;letter-spacing:0;inset:12px 0;line-height:1.8}.hero-bottom{font-size:10px;bottom:24px;right:7%;left:7%}.hero-bottom a{font-size:9px;gap:6px}.hero-mark{right:9%;bottom:-30px;font-size:110px}.guide{padding-top:55px;padding-bottom:55px}.guide .section-heading h2{font-size:29px}.section-heading>p{font-size:14px;line-height:2}.eyebrow{font-size:11px;letter-spacing:.06em}.guide-tabs{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:26px}.guide-tabs button{font-size:16px;padding:15px 12px;gap:10px;min-height:59px}.guide-tabs button>span{font-size:11px}.guide-panel{grid-template-columns:1fr;gap:25px}.guide-panel figure img{height:270px;border-radius:2px 55px 2px 2px}.guide-panel figcaption{font-size:12px;padding:50px 18px 16px}.guide-copy h3{font-size:25px}.guide-copy>p:not(.eyebrow){font-size:14px;line-height:2;margin-top:18px}.guide-links{gap:3px 16px;margin-bottom:23px}.guide-links .text-link{font-size:12px}.guide-to-check{font-size:13px;min-height:54px;padding:16px 18px;gap:14px}.story h2{font-size:29px}.story h2 br:nth-child(2){display:block}.story-title>p:not(.eyebrow),.bridge p:not(.eyebrow){font-size:14px}.story-title .text-link{font-size:13px}.story-image figcaption{font-size:11px}.bridge-copy{padding:42px 7%}.bridge h2{font-size:24px}.check-intro h2{font-size:29px}.check-intro>p:not(.eyebrow){font-size:13px;padding-right:55px}.tree-stage{width:105px;right:-12px;bottom:19px}.tree-word{font-size:8px}.check-panel{padding:26px 20px}.check-top{font-size:11px;letter-spacing:0}.check-top span:first-child{max-width:70%;line-height:1.7}.check-top span:last-child{font-size:21px}.check-item{font-size:14px;gap:12px;min-height:92px;padding-top:15px;padding-bottom:15px}.check-item small{font-size:11px}.check-result p:first-child{font-size:20px}.check-result p+p{font-size:13px}.care-suggestions>p,.care-chip,.care-suggestions .text-link{font-size:12px}.check-actions .btn{font-size:13px}.check-actions .text-link{font-size:13px}.completion p{font-size:18px}.completion small{font-size:12px}.note{font-size:12px;line-height:1.9}.care-body>p:not(.eyebrow){font-size:14px;line-height:2}.care-label{font-size:12px}.care-bottom>span{font-size:12px;max-width:180px}.care-bottom .btn{font-size:12px;min-height:46px}.care-body .eyebrow{font-size:12px}.owner-copy>p:not(.eyebrow){font-size:14px;line-height:2}.owner-copy .owner-quote{font-size:18px!important}.owner-photo small{font-size:11px;margin-left:8px}.owner-sign{font-size:12px}.gallery-section .section-heading>p{font-size:12px}.review blockquote{font-size:14px;line-height:2}.review h3{font-size:22px}.review-num{font-size:12px}.reviews{gap:20px}.faq-list summary{font-size:14px;min-height:76px;gap:12px;padding:22px 0}.faq-list summary>span{font-size:13px}.answer{font-size:14px;padding:0 0 24px 0;line-height:2}.faq .section-heading .text-link{font-size:13px}.consultation-layout{grid-template-columns:1fr;gap:28px}.consultation-layout figure{position:static}.consultation-layout figure img{height:350px;border-radius:85px 2px 2px 2px;object-position:50% 28%}.consultation-layout figcaption{font-size:12px}.consultation-steps article{gap:18px;padding:25px 0}.consultation-steps article>span{font-size:25px}.consultation-steps h3{font-size:20px}.consultation-steps p{font-size:14px;line-height:2}.consultation-steps .text-link{font-size:13px}.consultation-steps .btn{font-size:13px;gap:16px;padding:15px 18px}.access address{font-size:15px}.access-copy>p:not(.eyebrow),.access .note{font-size:13px}.access .text-link{font-size:13px}.contact p:not(.eyebrow){font-size:14px}.contact .eyebrow{font-size:11px}.contact .btn{font-size:13px}.contact .text-link{font-size:12px}footer p,footer>div{font-size:12px}footer small{font-size:11px}.mobile-dock>a:first-child{font-size:12px;min-height:44px;display:flex;align-items:center}.mobile-dock .btn{font-size:12px;min-height:46px;padding:10px 14px}.mobile-dock{gap:10px;padding-left:5%;padding-right:5%}.page-hero p:last-child{font-size:13px}.page-hero h1{font-size:30px}dialog{padding:15px;max-width:92vw}.story,.check-section,.owner,.voices,.faq,.access,.consultation{padding-top:58px;padding-bottom:58px}.care{padding-top:30px;padding-bottom:58px}}
@media(max-width:360px){.header .brand-sub{font-size:8px}.header .brand-sub b{font-size:8px}.brand{gap:6px}.brand-kanji{font-size:29px}.hero-v2 h1{font-size:27px}.hero-v2 .hero-lead{font-size:12px}.hero-triad{right:11%;bottom:77px;width:75px;height:75px}.hero-triad span:nth-child(1){left:24px}.hero-triad p{font-size:7px}.hero-bottom{font-size:9px}.hero-bottom a{font-size:8px}.guide-tabs button{font-size:14px;padding:14px 10px}.check-panel{padding:23px 16px}.check-item{font-size:13px}.guide-to-check{font-size:12px;padding:14px}.mobile-dock>a:first-child{font-size:11px}.mobile-dock .btn{font-size:11px;gap:12px}.care-bottom>span{max-width:145px}.consultation-steps h3{font-size:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.tactile,.reveal,.hero-triad,.guide-panel,.completion,.tree-stage:before{animation:none!important;transition:none!important}.js-motion .reveal-photo,.js-motion .reveal-words{opacity:1;transform:none;clip-path:none}.tactile:active,.tactile.is-down,.btn:active,.btn.pressed{scale:1;translate:0 1px}.completion:after{display:none}}
