
/* A shared pencil vocabulary, punctuated by a quiet, geometric interlude. */
.pencil-scene{margin:0;min-width:0;position:relative}.pencil-scene img{display:block;width:100%;height:auto;mix-blend-mode:multiply}.pencil-scene figcaption{font-size:12px;color:#746b60;line-height:1.8;text-align:center;margin-top:16px;letter-spacing:.025em}
.illustrated-intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:24px;align-items:center;padding:104px 0 52px}.intro-heading h2{font-size:clamp(28px,3.1vw,40px)}.intro-heading p{font-size:15px}.cycle-scene{margin-right:-28px}.cycle-overlay{position:absolute;inset:0;width:100%;height:90%;color:#6a9398;opacity:.6;pointer-events:none}.cycle-orbit{transform-origin:300px 210px;animation:cycle-drift 40s linear infinite}.motion-toggle{font:inherit;font-size:11px;letter-spacing:.06em;background:transparent;border:1px solid #c6c0b6;border-radius:20px;color:#6d655b;padding:8px 15px;cursor:pointer;min-height:40px;display:inline-flex;gap:14px;align-items:center}.motion-toggle:hover{background:#f4f2ec}.motion-toggle:focus-visible{outline:3px solid #987956;outline-offset:4px}.mobile-break{display:none}
#paths{padding-top:40px;padding-bottom:74px}#paths .section-heading{display:none}.paths{gap:44px}.path h3{font-size:23px}.path p{font-size:14px}.path .num{font-size:18px}.read-more{margin-top:28px;background:transparent;border:0!important;padding:0!important}.read-more summary{padding:18px 0;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:14px;list-style:none;color:#655745;cursor:pointer}.read-more summary::-webkit-details-marker{display:none}.read-more summary:after{content:'＋';font-size:20px;font-weight:300;flex:none}.read-more[open] summary:after{content:'−'}.read-more summary:hover{color:#26211b}.read-more .steps{margin:16px 0 28px}.detail-copy{max-width:760px;padding:12px 0}.read-more .record-example{margin-top:14px}.record-example p{margin-top:0}.record-example h3{font-size:24px}.record-example dl{margin-bottom:20px}
.bridge-story{display:grid;grid-template-columns:.85fr 1.15fr;gap:40px;align-items:center}.bridge-copy h2{font-size:clamp(27px,3vw,37px)}.bridge-copy p{font-size:16px;max-width:390px}.dialogue-scene{margin-right:-24px}.bridge-promise{display:flex;align-items:center;gap:30px;margin-top:46px;padding:24px 0}.bridge-promise .eyebrow{color:#8c785d;flex:none}.bridge-promise p{font-size:25px;line-height:1.8;margin:0}.bridge-promise+.steps{margin-top:12px}.bridge-promise+.steps b{color:#7c6246;font-size:18px}#bridge .steps{gap:48px}#bridge>.wrap>.button{margin-top:10px}
.niko{background:#f7f5f0}.niko-layout{grid-template-columns:.85fr 1.15fr;gap:40px;align-items:center}.houses{padding:0;background:none;margin-right:-24px}.niko-features{gap:65px}.niko-features p{font-size:15px}.niko h2{font-size:clamp(27px,3vw,37px)}.houses figcaption{font-size:11px}
.haru{background:#304d48;color:#f7f3e9}.haru .eyebrow{color:#c6cbb9}.haru-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:55px}.haru-copy{max-width:none}.haru-logo{font-size:clamp(48px,5.7vw,72px);margin:18px 0 28px}.haru h2{font-size:clamp(30px,3.2vw,42px);line-height:1.7}.haru-copy p{color:#e0e6dd;font-size:15px;max-width:480px}.haru-copy .haru-lead{font-size:18px;line-height:2}.resonance-art{margin:0;min-width:0;color:#d5c7a4}.resonance-art svg{width:100%;height:auto;display:block;overflow:visible}.geometry-lines{opacity:.68}.geometry-center{font:19px 'Yu Mincho',serif;letter-spacing:4px}.geometry-labels{font:17px 'Yu Mincho',serif}.resonance-art figcaption{font-size:12px;text-align:center;color:#c2cfc7;margin:20px 0 0}.geometry-orbit{transform-origin:280px 280px;animation:circle-flow 42s linear infinite}.geometry-orbit.reverse{animation-direction:reverse;animation-duration:60s}.resonance-ring{transform-origin:280px 280px;animation:water-ripple 12s ease-out infinite}.second-ring{animation-delay:-6s}.haru-services{margin-top:54px;display:grid;grid-template-columns:1fr 1fr;gap:55px;border-top:1px solid #ffffff26;padding-top:32px}.haru-services h3{font-size:25px;margin:15px 0}.haru-services p{font-size:15px;max-width:480px;color:#e0e6dd}.haru-role{margin:0 0 18px;color:#e0e6dd}.haru a:hover{color:#dec49a}.motion-paused *{animation-play-state:paused!important}
@keyframes circle-flow{to{transform:rotate(360deg)}}@keyframes cycle-drift{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}@keyframes water-ripple{0%{transform:scale(.55);opacity:0}20%{opacity:.4}100%{transform:scale(1.75);opacity:0}}
@media(max-width:1100px) and (min-width:801px){.bridge-story,.niko-layout{gap:24px}.haru-layout{gap:24px}.bridge-copy h2{font-size:28px}.bridge-promise p{font-size:23px}}
@media(max-width:800px){.illustrated-intro{display:flex;flex-direction:column;gap:24px;padding:64px 0 28px;align-items:stretch}.intro-heading h2{font-size:30px;line-height:1.7}.intro-heading p{font-size:15px}.cycle-scene{margin:0 -12px}.pencil-scene figcaption{font-size:11px;margin-top:10px}.motion-toggle{font-size:11px}.desktop-break{display:none}.mobile-break{display:block}#paths{padding:28px 0 55px}.paths{gap:26px}.path{display:grid;grid-template-columns:28px 1fr;gap:0 14px}.path .num{grid-column:1;grid-row:1;padding-top:4px}.path h3{grid-column:2;margin:0 0 9px;font-size:22px;line-height:1.6}.path p{grid-column:2;margin:0 0 4px;font-size:14px}.path .button{grid-column:2}.path h3 br{display:none}.bridge-story,.niko-layout{grid-template-columns:1fr;gap:25px}.bridge-copy h2{font-size:clamp(24px,6.5vw,34px)}.bridge-copy p{max-width:none;font-size:16px}.dialogue-scene,.houses{margin:0 -12px}.bridge-promise{display:block;margin-top:30px;padding:12px 0}.bridge-promise .eyebrow{display:block;margin-bottom:12px}.bridge-promise p{font-size:22px}#bridge .steps{gap:20px;margin-top:22px}#bridge .steps>div{display:grid;grid-template-columns:95px 1fr;gap:14px}#bridge .steps b{font-size:16px}#bridge .steps p{font-size:14px}.read-more{margin-top:20px}.read-more summary{font-size:13px;gap:12px}.record-example h3{font-size:22px}.niko h2{font-size:clamp(24px,6.5vw,34px)}.niko-features{gap:24px}.niko-features h3{font-size:22px}.haru-layout{display:flex;flex-direction:column;gap:30px;align-items:stretch}.haru h2{font-size:30px}.haru-logo{font-size:48px;margin-top:20px}.haru-copy .haru-lead{font-size:16px}.resonance-art{max-width:440px;align-self:center;width:100%;padding:8px}.resonance-art figcaption{font-size:11px}.haru-services{grid-template-columns:1fr;gap:28px;margin-top:32px;padding-top:28px}.haru-services h3{font-size:24px}.haru-services p{font-size:15px}.geometry-labels{font-size:21px}.geometry-center{font-size:23px}.haru-role{font-size:13px}}
@media(max-width:360px){.intro-heading h2{font-size:27px}.bridge-copy h2,.niko h2{font-size:22px}.bridge-promise p{font-size:20px}.haru-logo{font-size:40px}.haru h2{font-size:25px}.record-example h3{font-size:19px}#bridge .steps>div{grid-template-columns:80px 1fr;gap:12px}}
@media(prefers-reduced-motion:reduce){.cycle-orbit,.geometry-orbit,.resonance-ring{animation:none!important}.resonance-ring{opacity:.15}}
.illustrated-intro h2{margin-bottom:25px}
@media(max-width:800px){
.illustrated-intro{display:grid;grid-template-columns:1fr;gap:16px}.intro-heading{display:contents}.intro-heading>.eyebrow{order:0}.intro-heading>h2{order:1;margin:0 0 2px}.illustrated-intro>.cycle-scene{order:2;margin-bottom:10px}.intro-heading>p{order:3;margin:0 0 12px}.intro-heading>.motion-toggle{order:4;justify-self:start}
.haru-layout{display:grid;grid-template-columns:1fr;gap:20px}.haru-copy{display:contents}.haru-logo{order:0;margin-bottom:0}.haru-copy h2{order:1;margin:0}.resonance-art{order:2;margin:8px auto 12px}.haru-copy>p{order:3;margin:0 0 12px}
.bridge-story{display:grid;gap:20px}.bridge-copy{display:contents}.bridge-copy h2{order:0}.dialogue-scene{order:1;margin-bottom:10px}.bridge-copy>p{order:2;margin:0 0 10px}
}

/* Housing NeNe embraces varied buildings; nature imagery belongs to Harumonia. */
.concept-houses{background:#746b5e;padding:30px 20px 10px;margin:0}.concept-houses svg{width:100%;height:auto}.concept-houses p{color:#f2ede2;font-size:11px;text-align:center}.haru-illustrated-story{background:#fff;color:#2b241f;margin-top:60px;padding:40px;display:grid;grid-template-columns:.75fr 1.25fr;gap:30px;align-items:center}.haru-illustrated-story .eyebrow{color:#786b58}.haru-illustrated-story h3{font-size:32px;line-height:1.7;margin:16px 0 22px}.haru-illustrated-story p{font-size:15px}.haru-illustrated-story .cycle-scene{margin:0}.haru-illustrated-story .motion-toggle{color:#6d655b}.geometry-lines{opacity:.85;stroke-width:1.35}
@media(max-width:800px){.haru-illustrated-story{display:flex;flex-direction:column;padding:24px 18px;gap:22px;margin-top:35px}.haru-illustrated-story>div{display:contents}.haru-illustrated-story .eyebrow{order:0;align-self:start}.haru-illustrated-story h3{order:1;align-self:start;margin:0;font-size:27px}.haru-illustrated-story .cycle-scene{order:2}.haru-illustrated-story p{order:3;width:100%;margin:0}.haru-illustrated-story .motion-toggle{order:4;align-self:start}.concept-houses{margin:0;padding:20px 12px 10px}}

/* Clear, generous interaction states for comfortable reading and tapping. */
.links a,.button,.solid,.outline,.motion-toggle,.read-more summary,footer a{
  transition:background-color .15s ease,color .15s ease,border-color .15s ease;
  -webkit-tap-highlight-color:rgba(43,36,31,.18);
}
.links{font-size:14px;gap:12px}
.links a{padding:10px 8px;min-height:44px;border-radius:4px}
.button{font-size:16px;font-weight:600;padding:12px 16px;min-height:48px;border:1px solid #80776d;border-radius:4px;background:#fff;color:#2b241f}
.solid,.outline{font-size:16px;font-weight:600;min-height:52px}
.outline{background:#fff;color:#2b241f}
.motion-toggle,.haru-illustrated-story .motion-toggle{font-size:14px;min-height:44px;color:#2b241f;border-color:#80776d;background:#fff}
.read-more summary{font-size:16px;font-weight:600;padding:16px;border:1px solid #80776d;border-radius:4px;color:#2b241f;background:#fff}
footer a{display:inline-flex;align-items:center;padding:8px 12px;min-height:44px;border-radius:4px;font-size:14px}
.links a:is(:hover,:focus-visible,:active),.button:is(:hover,:focus-visible,:active),.outline:is(:hover,:focus-visible,:active),.read-more summary:is(:hover,:focus-visible,:active),footer a:is(:hover,:focus-visible,:active),.motion-toggle:is(:hover,:focus-visible,:active){background:#2b241f;color:#fff;border-color:#2b241f}
.solid:is(:hover,:focus-visible,:active){background:#fff;color:#2b241f;border-color:#2b241f}
.haru .button{background:#fff;color:#304d48;border-color:#fff}
.haru .button:is(:hover,:focus-visible,:active){background:#182f2b;color:#fff;border-color:#fff}
.haru-illustrated-story .motion-toggle:is(:hover,:focus-visible,:active){background:#2b241f;color:#fff;border-color:#2b241f}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #2b241f;outline-offset:4px;box-shadow:0 0 0 4px #fff}
.haru a:focus-visible{outline-color:#fff;box-shadow:0 0 0 4px #182f2b}
@media(min-width:801px) and (max-width:1200px){.nav{flex-wrap:wrap;gap:0;padding-block:8px}.links{width:100%;justify-content:space-between}}
@media(max-width:800px){
  html{scroll-padding-top:184px}
  .links{grid-template-columns:repeat(3,auto);font-size:13px;gap:4px;justify-content:space-between}
  .links a,.links .contact-link{padding:8px 5px;min-height:44px;border-radius:4px}
  .button{font-size:16px;gap:12px}
  .read-more summary{font-size:16px}
}
@media(max-width:360px){.links{grid-template-columns:repeat(2,1fr)}html{scroll-padding-top:232px}}
@media(prefers-reduced-motion:reduce){.links a,.button,.solid,.outline,.motion-toggle,.read-more summary,footer a{transition:none}}

/* Keep the control next to the animation it operates. */
.resonance-art .animation-controls{display:flex;justify-content:center;margin-top:20px}
.resonance-art .motion-toggle{border-color:#fff}
.resonance-art .motion-toggle:focus-visible{outline-color:#fff;box-shadow:0 0 0 4px #182f2b}
.resonance-art .motion-toggle:disabled{cursor:default;background:#fff;color:#304d48;opacity:1}

/* Compact motion control with a generous invisible touch target. */
.resonance-art .motion-toggle{position:relative;font-size:12px;line-height:1.5;letter-spacing:.02em;gap:8px;padding:6px 10px;min-height:32px;border-radius:16px}
.resonance-art .motion-toggle::before{content:"";position:absolute;inset:-6px 0}

/* Two clear ways to work with NeNe. */
.consultation-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:40px}
.consultation-options article{padding:28px;background:#f6f4f0;min-width:0}
.consultation-options h3{font-size:23px;margin:0 0 16px;line-height:1.7}
.consultation-options p{font-size:16px}
@media(max-width:800px){.consultation-options{grid-template-columns:1fr;gap:18px;margin-top:28px}.consultation-options article{padding:24px 20px}.consultation-options h3{font-size:22px}}

.consultation-options .company-advice{grid-column:1/-1}

/* Keep meaningful phrases together without fixing text to one device width. */
.text-unit{display:inline-block;white-space:nowrap;max-width:100%}
h2,h3{ text-wrap:balance }
p{ text-wrap:pretty }
.company>div>span{min-width:0}
.company>div>span:last-child .text-unit+.text-unit{margin-left:.3em}
.consultation-options .company-advice p{max-width:44em}
@media(max-width:800px){.path h3 br{display:block}.path h3{font-size:21px}.company div{grid-template-columns:1fr;gap:4px;padding-block:16px}.company div>span:first-child{font-weight:600}.company div>span:first-child br{display:none}.company{font-size:14px}}
@media(max-width:360px){.bridge-promise p{font-size:18px}}

.social-profile{margin-top:32px}.social-profile h3{font-size:20px;line-height:1.7;margin:0 0 16px}.social-links{display:flex;flex-wrap:wrap;gap:12px}.social-links .button{min-height:48px;font-size:16px;gap:14px;padding:10px 14px;white-space:nowrap}@media(max-width:800px){.social-profile h3{font-size:19px}.social-links{gap:10px}}

/* Portrait and consultation guidance share the page's quiet editorial scale. */
.profile-portrait{margin:28px 0 0;max-width:220px;width:60%}
.profile-portrait img{display:block;width:100%;height:auto;border-radius:3px}
.profile{align-items:start}
.social-profile .social-invitation{font-size:15px;line-height:2}
.social-links .button{border-color:transparent;background:transparent;font-weight:500;padding:8px 12px}
.social-links .button:is(:hover,:focus-visible,:active){background:#2b241f;color:#fff;border-color:#2b241f}
.consultation-fee{max-width:620px;margin:36px auto 30px;padding:0;background:none;text-align:left}
.consultation-fee h3{font-family:inherit;font-size:16px;font-weight:600;letter-spacing:.04em;margin:0 0 18px}
.consultation-facts{margin:0 0 20px;font-size:16px;line-height:1.9}
.consultation-facts>div{display:grid;grid-template-columns:145px minmax(0,1fr);gap:20px;margin-bottom:14px}
.consultation-facts dt{font-weight:400;color:#625a52}
.consultation-facts dd{margin:0}
.consultation-facts .text-unit{margin-right:12px}
.contact .consultation-fee p{font-size:15px;line-height:1.9;max-width:none;margin:0 0 14px}
.contact .consultation-fee .fee-note{font-size:14px;color:#625a52;margin-bottom:0}
.contact .contact-destination{font-size:12px;margin-top:14px;line-height:1.8;color:#625a52}
.contact-buttons{gap:12px}
.contact-buttons .outline{background:transparent;font-weight:400}
.contact-buttons .outline:is(:hover,:focus-visible,:active){background:#2b241f;color:#fff}
@media(max-width:800px){.profile-portrait{width:56%;max-width:180px;margin:24px auto 4px}.consultation-fee{margin:30px auto 26px}.consultation-facts>div{grid-template-columns:1fr;gap:4px;margin-bottom:18px}.consultation-facts dt{font-size:14px}.social-links{gap:4px}.social-links .button{font-size:15px;gap:10px}}

.profile-identity{display:flex;align-items:center;gap:24px;margin:14px 0 24px}.profile-identity>div{min-width:0}.profile-identity .name{margin:0 0 5px;white-space:nowrap}.identity-portrait{display:block;width:100px;height:auto;flex:none;mask-image:linear-gradient(to bottom,#000 88%,transparent 100%)}@media(max-width:800px){.profile-identity{gap:18px}.profile-identity .name{font-size:30px}.identity-portrait{width:82px}}@media(max-width:360px){.profile-identity{gap:12px}.profile-identity .name{font-size:26px}.identity-portrait{width:68px}}

/* Social invitation spans the profile section, outside its biography column. */
.profile>.social-profile{grid-column:1/-1;margin-top:0;padding-top:12px}.profile>.social-profile .social-invitation{max-width:54em}.profile>.social-profile h3{font-size:24px;margin-bottom:20px}@media(max-width:800px){.profile>.social-profile{padding-top:12px}.profile>.social-profile h3{font-size:21px}}

/* Keep the brand relationship explicit without competing with the title. */
.haru-brand-note{font-size:14px;line-height:1.9;margin-top:-10px;margin-bottom:26px;max-width:34em}
.social-profile h3 .text-unit{display:inline-block;white-space:nowrap}

/* Water accent: retain warm readable body ink and the original logo. */
.links a:is(:hover,:focus-visible,:active),.button:is(:hover,:focus-visible,:active),.outline:is(:hover,:focus-visible,:active),.read-more summary:is(:hover,:focus-visible,:active),footer a:is(:hover,:focus-visible,:active),.motion-toggle:is(:hover,:focus-visible,:active),.social-links .button:is(:hover,:focus-visible,:active),.contact-buttons .outline:is(:hover,:focus-visible,:active){background:#285b57;color:#fff;border-color:#285b57}
.solid{background:#285b57;border-color:#285b57;color:#fff}.solid:is(:hover,:focus-visible,:active){background:#fff;color:#285b57;border-color:#285b57}
a:focus-visible,button:focus-visible,summary:focus-visible{outline-color:#285b57}
.haru .button:is(:hover,:focus-visible,:active){background:#182f2b;color:#fff;border-color:#fff}.haru a:focus-visible{outline-color:#fff}

.bio-story{grid-column:1/-1;background:#f2f6f3;border-radius:5px}.bio-story summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;padding:22px 28px;font-size:18px;font-weight:600;color:#285b57;cursor:pointer}.bio-story summary::-webkit-details-marker{display:none}.bio-symbol:after{content:'＋';font-size:23px}.bio-story[open] .bio-symbol:after{content:'−'}.bio-story summary:is(:hover,:focus-visible){background:#285b57;color:#fff;border-radius:5px}.bio-chapters{max-width:820px;margin:auto;padding:14px 36px 36px}.bio-chapters section+section{margin-top:30px}.bio-chapters h3{font-family:'Yu Gothic',Meiryo,sans-serif;font-size:19px;line-height:1.7;font-weight:600;margin:0 0 12px}.bio-chapters p{font-size:16px;line-height:2;margin:0 0 16px}.bio-chapters p:last-child{margin-bottom:0}@media(max-width:800px){.bio-story summary{font-size:16px;padding:18px 20px}.bio-chapters{padding:12px 22px 28px}.bio-chapters h3{font-size:18px}}

.bio-chapters .bio-ending{font-weight:600;color:#285b57;margin-top:26px;line-height:2}.bio-chapters h3 .text-unit{display:inline-block}

.consultation-options .consultation-route{display:flex;flex-direction:column;border-radius:5px}.consultation-options .adviser-route{background:#eef5f2}.consultation-options .route-label{font-size:14px;font-weight:700;color:#285b57;margin:0 0 18px}.consultation-options .route-lead{font-size:18px;line-height:1.8}.route-items{padding-left:1.3em;margin:0 0 24px;font-size:16px;line-height:1.9}.route-items li+li{margin-top:10px}.consultation-options .route-note{font-size:14px;line-height:1.9;margin-bottom:24px}.consultation-route .button{margin-top:auto;align-self:flex-start}.consultation-options .company-advice{background:#fff;padding-top:12px}.consultation-route .button{white-space:normal}@media(max-width:800px){.consultation-options .route-lead{font-size:17px}.consultation-route .button{font-size:15px;gap:10px}}

/* Concrete everyday context beside the Harumonia room illustration. */
.haru-daily-notes{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:12px}
.haru-daily-notes section{min-width:0}
.haru-daily-notes h4{font-size:18px;line-height:1.7;color:#285b57;margin:0 0 12px;font-weight:600}
.haru-daily-notes p{font-size:15px;line-height:1.95;margin:0}
.haru-daily-notes .button{font-size:14px;margin-top:16px;color:#285b57}
@media(max-width:1000px){.haru-daily-notes{grid-template-columns:1fr;gap:25px}}
@media(max-width:800px){.haru-illustrated-story>.haru-daily-notes{display:grid;order:4;width:100%;margin-top:8px}.haru-daily-notes h4{font-size:18px}.haru-daily-notes p{margin:0}}

/* Nikoichi: identity, question, then the everyday housing proposal. */
.niko-heading{max-width:960px;margin-bottom:42px}
.niko-heading h2{font-size:clamp(28px,3.5vw,44px);line-height:1.5;margin:14px 0 16px;letter-spacing:.04em}
.niko-subtitle{font-size:18px;line-height:1.9;margin:0}
.niko-subtitle .text-unit{display:block;white-space:normal}
.niko-origin{display:grid;grid-template-columns:1fr 1fr;gap:54px;padding:34px 36px;background:rgba(255,255,255,.5);margin-bottom:50px;align-items:start}
.niko-origin .niko-question{font-family:'Noto Serif JP',serif;font-size:clamp(23px,2.5vw,31px);line-height:1.85;margin:0;letter-spacing:.01em}
.niko-origin p{font-size:16px;line-height:1.95;margin:0 0 16px}
.niko-origin .niko-origin-ending{margin-bottom:0;font-weight:600}
.niko-reassurance{font-size:30px;line-height:1.7;margin:0 0 22px;font-weight:500}
@media(max-width:800px){.niko-heading{margin-bottom:27px}.niko-heading h2{font-size:28px}.niko-subtitle{font-size:16px}.niko-origin{grid-template-columns:1fr;gap:23px;padding:25px 20px;margin-bottom:34px}.niko-origin .niko-question{font-size:24px}.niko-origin .niko-question .text-unit{white-space:normal}.niko-reassurance{font-size:26px}}

.niko-features .niko-life-heading{font-size:clamp(20px,2vw,24px);line-height:1.8}.niko-life-line{display:block}.niko-life-line+.niko-life-line{margin-top:.65em}

/* Final editorial pass: clear entrances, consistent diagrams, readable rhythm. */
html{scroll-padding-top:116px}
.hero-service-note{font-size:15px;line-height:1.9;margin:0 0 16px;max-width:29em}
.refined-paths{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.refined-paths .path{display:flex;flex-direction:column;min-width:0}
.refined-paths .path h3{font-size:24px;margin:12px 0 15px}
.refined-paths .path p{font-size:16px;line-height:1.9;margin:0 0 20px}
.refined-paths .path .button{margin-top:auto;font-size:14px;gap:8px;align-self:start}
.bridge-map{margin:0;padding:32px;background:#f5f7f4;border-radius:4px;color:#2b241f}
.bridge-parties{display:grid;grid-template-columns:1fr 32px 1fr;align-items:center;gap:12px;text-align:center}
.bridge-parties svg{display:block;width:64px;height:64px;margin:0 auto 10px;fill:none;stroke:#285b57;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.bridge-parties strong{display:block;font-size:17px;font-weight:600}
.bridge-parties span:not(.bridge-exchange){display:block;font-size:13px;margin-top:6px}
.bridge-exchange{color:#285b57;font-size:28px}
.bridge-interpreter{padding:22px 20px;background:white;margin:25px 0 16px;text-align:center}
.bridge-interpreter>span{color:#285b57;font-size:13px;display:block;letter-spacing:.08em;margin-bottom:10px}
.bridge-interpreter strong{font-family:'Yu Mincho',serif;font-size:24px;line-height:1.7;font-weight:500}
.bridge-interpreter p{font-size:14px;margin:14px 0 0;line-height:1.9}
.bridge-map figcaption{font-size:13px;line-height:1.8;text-align:center}
.planning-details .detail-copy{max-width:780px;padding:8px 0 16px}
.planning-details h3{font-family:inherit;font-weight:600;font-size:20px;margin:22px 0 12px}
.planning-details p{font-size:16px;line-height:1.95}
.section-cta{margin-top:28px}
#approach .list>div{font-size:17px;font-weight:600;line-height:1.8}
#approach .list span{font-size:15px;font-weight:400;line-height:1.85;margin-top:7px}
.niko-origin{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:42px}
.niko-origin .text-unit{white-space:normal}
.niko-origin .niko-question{font-size:clamp(23px,2.4vw,30px)}
.concept-houses{background:#eef2ec;border-radius:4px;padding:26px 20px 12px}
.concept-houses svg path{stroke:#52675e}
.concept-houses svg path:first-child{fill:#dce6de;stroke:none}
.concept-houses svg path:last-of-type{fill:#a7c3b7;stroke:none}
.concept-houses svg text{fill:#2b4539}
.concept-houses p{color:#536257;font-size:12px;line-height:1.8}
.niko-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:34px}
.niko-choices article{min-width:0}
.choice-no{display:block;font-size:13px;line-height:1.8;color:#52675e;margin-bottom:18px}
.dwelling-pair{display:grid;grid-template-columns:2fr 1fr;gap:4px;padding:12px;background:#e2e9e1;border-radius:3px;max-width:250px}
.dwelling-pair span{display:grid;place-items:center;height:60px;background:#285b57;color:#fff;font-size:16px}
.dwelling-pair span+span{background:#fff;color:#285b57}
.dwelling-pair.reversed span:first-child,.dwelling-pair.rented span{background:#fff;color:#285b57}
.dwelling-pair.reversed span+span{background:#285b57;color:white}
.niko-choices h4{font-size:18px;line-height:1.7;margin:18px 0 8px}
.niko-choices p{font-size:15px;line-height:1.9;margin:0}
.niko-choice-note{font-size:13px;line-height:1.9;color:#625a52;margin:20px 0 28px}
.haru-daily-notes h4{font-size:17px}.haru-daily-notes p{font-size:15px}
.haru-service-links{display:grid;gap:10px;margin:22px 0}
.haru-service-links a{display:block;padding:16px 18px;background:#f4f8f4;color:#244b45;border:1px solid transparent;border-radius:3px;text-decoration:none}
.haru-service-links strong{display:block;font-weight:600;font-size:17px;line-height:1.7}
.haru-service-links span{display:block;font-size:14px;line-height:1.8;margin-top:4px}
.haru-service-links a:is(:hover,:focus-visible,:active){background:#182f2b;color:#fff;border-color:#fff}
.contact-flow{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;max-width:900px;margin:38px auto;text-align:left}
.contact-flow li{min-width:0}
.contact-flow li>span{font-size:13px;letter-spacing:.12em;color:#285b57;display:block;margin-bottom:10px}
.contact-flow strong{display:block;font-size:17px;margin-bottom:8px}
.contact .contact-flow p{font-size:15px;line-height:1.9;margin:0}
.consultation-fee{background:#f6f7f3;padding:26px 30px;border-radius:4px}
.contact .contact-destination{font-size:13px}
a:focus-visible,summary:focus-visible,button:focus-visible{outline:3px solid #285b57;outline-offset:4px}
@media(min-width:801px) and (max-width:1100px){.refined-paths{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px}.bridge-map{padding:24px}.niko-origin{gap:30px;padding:28px}.niko-choices{gap:20px}}
@media(max-width:800px){
 html{scroll-padding-top:24px}header{position:relative}
 .hero-service-note{font-size:15px;margin-bottom:12px}
 .refined-paths{display:grid;grid-template-columns:1fr;gap:0}
 .refined-paths .path{display:grid;grid-template-columns:28px minmax(0,1fr);gap:0 14px;padding:24px 0;border-bottom:1px solid #e2e4dd}
 .refined-paths .path:first-child{padding-top:0}.refined-paths .path:last-child{border-bottom:0}
 .refined-paths .path .num{grid-column:1;grid-row:1;padding-top:4px}
 .refined-paths .path h3{grid-column:2;margin:0 0 8px;font-size:23px}
 .refined-paths .path p{grid-column:2;margin:0 0 10px;font-size:16px}
 .refined-paths .path .button{grid-column:2;font-size:15px}
 .bridge-map{padding:24px 18px;width:100%;box-sizing:border-box}
 .bridge-parties{gap:5px;grid-template-columns:1fr 25px 1fr}
 .bridge-parties strong{font-size:16px}.bridge-parties span:not(.bridge-exchange){font-size:12px}
 .bridge-interpreter{padding:20px 12px}.bridge-interpreter strong{font-size:23px}
 .bridge-interpreter p{font-size:13px}.bridge-map figcaption{font-size:13px}
 .niko-origin{grid-template-columns:1fr;gap:22px;padding:24px 20px}
 .niko-choices{grid-template-columns:1fr;gap:28px}
 .niko-choices article{display:grid;grid-template-columns:115px minmax(0,1fr);column-gap:18px}
 .choice-no{grid-column:1/-1;margin-bottom:12px}
 .dwelling-pair{grid-column:1;grid-row:2/4;padding:7px;gap:3px;align-self:start}
 .dwelling-pair span{height:56px;font-size:14px}
 .niko-choices h4{grid-column:2;margin:0 0 6px;font-size:17px}
 .niko-choices p{grid-column:2;font-size:15px}
 .haru-services h3{font-size:25px;line-height:1.7}
 .contact-flow{grid-template-columns:1fr;gap:22px;margin:30px auto;max-width:500px}
 .contact-flow li{display:grid;grid-template-columns:30px 1fr;gap:0 12px}
 .contact-flow li>span{grid-row:1/3;padding-top:3px}.contact-flow strong,.contact .contact-flow p{grid-column:2}
 .consultation-fee{padding:24px 20px}
 .text-unit{max-width:100%}
}
@media(max-width:360px){.niko-choices article{grid-template-columns:95px minmax(0,1fr);column-gap:12px}.bridge-map{padding:20px 12px}.bridge-interpreter p{font-size:12px}}
#paths .section-heading{display:block;margin-bottom:34px}
#paths .section-heading h2{margin-bottom:14px}
#paths .section-heading p{margin:0;font-size:16px}
.haru-services{grid-template-columns:minmax(0,1.5fr) minmax(0,.7fr)}
.read-more summary{font-size:16px;line-height:1.8;padding:18px 12px;border-radius:3px}
@media(max-width:800px){.haru-services{grid-template-columns:1fr}.read-more summary{font-size:15px}#paths .section-heading h2{font-size:27px}}
.bio-chapters h3 .text-unit{white-space:normal;max-width:100%}
.haru-services{grid-template-columns:1fr;gap:28px}
.haru-services>div:last-child{display:flex;justify-content:space-between;align-items:center;gap:24px}
.haru-services .haru-role{margin:0}
.haru-service-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.haru-service-links a{padding:20px}
@media(max-width:800px){.haru-service-links{grid-template-columns:1fr;gap:12px}.haru-services>div:last-child{display:block}.haru-services .haru-role{margin-bottom:18px}}

/* Utility pages and the category-led contact form. */
[hidden]{display:none!important}
.utility-page{padding:42px 0 90px;background:#fff}
.utility-page h1{font-family:'Yu Mincho',serif;font-size:clamp(28px,3.1vw,40px);line-height:1.75;font-weight:500;margin:18px 0 24px;letter-spacing:.02em}
.back-link{display:inline-block;font-size:14px;margin-bottom:36px;padding-block:6px}
.utility-lead{font-size:17px;line-height:1.95}
.form-status{font-size:15px;line-height:1.9;background:#f3f5ef;padding:20px 24px;max-width:800px;margin:28px 0 38px}
.form-status a,.policy-copy a,.privacy-consent a,.contact-aside a{text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.contact-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,.8fr);gap:64px;align-items:start}
.contact-layout fieldset{border:0;padding:0;margin:0 0 36px;min-width:0}
.contact-layout legend,.field>label{display:block;font-size:17px;font-weight:600;margin-bottom:10px}
.required-label,.optional-label{font-size:12px;font-weight:400;margin-left:10px;vertical-align:middle}
.required-label{color:#285b57;background:#e9f1ec;padding:3px 7px;border-radius:2px}.optional-label{color:#625a52}
.field-help{font-size:14px;line-height:1.9;color:#625a52;margin:8px 0 14px}
.category-choices{display:grid;gap:10px}
.category-choice{display:flex;align-items:flex-start;gap:12px;border:1px solid #cbd3cb;background:#f8faf7;border-radius:3px;padding:14px 16px;cursor:pointer;font-size:16px;line-height:1.8}
.category-choice:has(input:checked){background:#e2eeea;border-color:#285b57;color:#193f3a}
.category-choice:hover{border-color:#285b57}
.category-choice input,.privacy-consent input{width:20px;height:20px;flex:none;margin:4px 0 0;accent-color:#285b57}
.field{margin-bottom:26px;min-width:0}
.field input,.field textarea{display:block;width:100%;font:inherit;font-size:17px;line-height:1.7;padding:12px 14px;border:1px solid #aab6ae;border-radius:3px;background:#fff;color:#2b241f;box-sizing:border-box}
.field textarea{resize:vertical;min-height:170px}
.field input:focus,.field textarea:focus{outline:3px solid #bfd6cc;outline-offset:2px;border-color:#285b57}
.optional-fields{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.privacy-consent{display:flex;align-items:flex-start;gap:12px;font-size:15px;line-height:1.9;cursor:pointer}
.form-contract-note{font-size:14px;line-height:1.9;margin-top:20px;color:#625a52}
#inquiry-form button,.review-actions button{font:inherit;font-size:16px;min-height:52px;padding:13px 24px;cursor:pointer;border:1px solid #285b57;border-radius:3px}
#inquiry-form button{margin-top:14px}
button:disabled{cursor:not-allowed;opacity:.55}
.form-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-errors{padding:20px;background:#fff3ee;color:#783b26;margin-bottom:26px;font-size:16px;border-left:3px solid #a65a40}
.form-errors ul{margin:12px 0 0;padding-left:1.4em}
.contact-aside{background:#f5f7f2;padding:28px;font-size:15px;line-height:1.9}
.contact-aside h2{font-size:22px;margin:0 0 24px}
.contact-aside h3{font:600 16px/1.8 'Yu Gothic',Meiryo,sans-serif;margin:28px 0 10px}
.contact-aside h3:first-of-type{margin-top:0}
.contact-aside p{font-size:15px;margin:0 0 18px}
.inquiry-review h2,#inquiry-success h2{font-size:27px;margin-top:0}
.inquiry-review dl>div{padding:18px 0;border-bottom:1px solid #d8ded7}
.inquiry-review dt{font-weight:600;margin-bottom:8px}.inquiry-review dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9;font-size:16px}
.review-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:24px}
.policy-copy{max-width:800px;font-size:16px;line-height:2}
.policy-copy section{margin-top:36px}.policy-copy h2{font-family:inherit;font-weight:600;font-size:20px;line-height:1.8;margin:0 0 12px}.policy-date{font-size:14px;margin-top:36px;color:#625a52}
.sitemap-links{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:30px 0 40px}
.sitemap-links a{display:block;background:#f4f7f2;border:1px solid transparent;padding:24px;border-radius:3px}
.sitemap-links strong{display:block;font-size:19px;line-height:1.8}.sitemap-links span{display:block;font-size:15px;line-height:1.9;margin-top:8px}
.sitemap-links a:is(:hover,:focus-visible){background:#285b57;color:#fff}
.sitemap-external h2{font-size:23px}.sitemap-external a{display:inline-block;padding:12px 0;font-size:17px;text-decoration:underline;text-underline-offset:5px}
.site-footer{background:#f2f3ed;padding:36px 0 24px;color:#2b241f}
.footer-top{display:flex;gap:32px;justify-content:space-between;align-items:start}
.footer-brand{font:24px Georgia,serif;white-space:nowrap}
.footer-top nav{display:flex;gap:8px 24px;flex-wrap:wrap;justify-content:flex-end;max-width:760px}
.footer-top nav a{display:inline-block;padding:8px 0;font-size:14px;line-height:1.8}
.copyright{font-size:12px;margin:24px 0 0;color:#625a52}
.shop-entry{margin-left:14px}
@media(max-width:800px){.utility-page{padding:24px 0 64px}.back-link{margin-bottom:28px}.utility-page h1{font-size:28px;line-height:1.75}.contact-layout{grid-template-columns:1fr;gap:36px}.form-status{padding:18px;font-size:15px}.optional-fields{grid-template-columns:1fr;gap:0}.category-choice{padding:13px 12px;font-size:16px}.contact-aside{padding:24px}.sitemap-links{grid-template-columns:1fr}.footer-top{display:block}.footer-top nav{justify-content:flex-start;margin-top:20px;gap:4px 22px}.shop-entry{margin-left:0;margin-top:14px}.review-actions button{width:100%}}
@media(max-width:800px){.utility-page h1{font-size:clamp(21px,5.9vw,26px);letter-spacing:0;text-wrap:initial}}

/* Harumonia service cards: semantic title breaks and a visible action. */
.haru-service-links a{display:flex;flex-direction:column;gap:16px;padding:24px;min-height:230px}
.haru-service-links strong{font-size:19px;line-height:1.65;margin:0;text-wrap:initial}
.haru-service-links strong>span{font:inherit;line-height:inherit;margin:0;white-space:nowrap}
.haru-service-links .service-description{font-size:14px;line-height:1.9;margin:0}
.haru-service-links .service-action{display:flex;align-items:center;justify-content:flex-end;gap:12px;font-size:14px;font-weight:600;margin:auto 0 0;padding-top:6px}
.haru-service-links .service-arrow{display:grid;place-items:center;width:38px;height:38px;margin:0;flex:none;background:#285b57;color:#fff;border-radius:50%}
.haru-service-links .service-arrow svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.haru-service-links a:is(:hover,:focus-visible,:active) .service-arrow{background:#fff;color:#285b57}
@media(max-width:800px){.haru-service-links a{min-height:0;padding:22px;gap:12px}.haru-service-links strong{font-size:20px}.haru-service-links .service-action{margin-top:2px}.haru-service-links .service-arrow{width:40px;height:40px}}
