:root{--header-height:80px;--page-surface:oklch(97.2% .009 113);--page-ink:oklch(32% .025 188);--page-muted:oklch(43% .023 187);--page-line:oklch(78% .018 153)}
body.site-v25{padding-top:var(--header-height);--ink:var(--page-ink);--muted:var(--page-muted);--line:var(--page-line)}
html{scroll-padding-top:calc(var(--header-height) + 16px)}
.site-v25 .site-header,.site-v25.editorial-page .site-header{position:fixed;inset:0 0 auto;height:var(--header-height);z-index:100;background:var(--page-surface);color:var(--page-ink);border-bottom:1px solid var(--page-line)}
.site-v25 .site-header .wordmark,.site-v25 .site-header .main-nav a{color:var(--page-ink)}
.site-v25 .main-nav a{font-size:15px;line-height:1.4;min-height:44px;display:flex;align-items:center}
.site-v25 .main-nav .nav-contact{border-color:var(--page-line)}
.site-v25 .menu-toggle{display:none}
.site-v25 .side-nav{top:calc(var(--header-height) + 24px)}
.site-v25.editorial-page .case-copy p,.site-v25.editorial-page .case-facts dt,.site-v25.editorial-page .detail-item p,.site-v25.editorial-page .video-caption,.site-v25.editorial-page .editor-note{color:var(--page-muted);font-size:17px;line-height:1.9}
.site-v25.editorial-page .case-facts dd,.site-v25.editorial-page .text-link,.site-v25.editorial-page .company-meta dd{color:var(--page-ink);font-size:18px;line-height:1.8}
.site-v25.editorial-page .case-facts dt{font-size:15px}
.site-v25 .footer-links,.site-v25 .footer-bottom,.site-v25 .breadcrumbs,.site-v25 .section-title .ja{font-size:14px}
.site-v25 .footer-links a{min-height:44px;display:inline-flex;align-items:center}
.site-v25 .text-link{min-height:44px}
.site-v25 .home-body{margin-top:0;border-radius:0;box-shadow:none;background:var(--page-surface);overflow:visible}
.home-flow{--scene-h:calc(100svh - var(--header-height));position:relative;background:var(--page-surface)}
.home-flow .service-story{background:var(--page-surface);border:0;color:var(--page-ink)}
.home-flow .service-world-intro h2{font-size:clamp(29px,3vw,43px);line-height:1.6;margin-bottom:22px}
.home-flow .service-world-intro p{font-size:17px;line-height:2;color:var(--page-muted);max-width:29em}
.home-flow-enhanced{height:calc(var(--scene-h)*5.3)}
.home-flow-enhanced .flow-viewport{position:sticky;top:var(--header-height);height:var(--scene-h);overflow:clip;isolation:isolate}
.home-flow-enhanced .hero{position:absolute;inset:0;height:100%;min-height:0;width:100%;z-index:4;margin:0;will-change:transform}
.home-flow-enhanced .hero-main{min-height:0;height:100%;padding-block:36px}
.home-flow-enhanced .hero h1{font-size:clamp(40px,4.4vw,64px)}
.home-flow-enhanced .hero-visual{max-height:100%;min-height:0}
.home-flow-enhanced .hero-object{height:100%;max-height:670px}
.home-flow-enhanced .hero-lead{font-size:17px;color:oklch(86% .008 154)}
.home-flow-enhanced .service-story,.home-flow-enhanced .service-story[data-world-enhanced=true]{position:absolute;inset:0;height:100%;width:100%;min-height:0;margin:0;padding:0;z-index:1}
.home-flow-enhanced .service-story .service-world-layout{position:relative;top:auto;display:block;width:calc(100% - 112px);max-width:1480px;height:100%;margin:auto;padding:0}
.home-flow-enhanced .service-world-heading{position:absolute;top:32px;left:0;width:42%;padding:0;z-index:3}
.home-flow-enhanced .service-world-heading .section-heading{display:flex;align-items:flex-start;flex-direction:column;gap:18px;margin:0}
.home-flow-enhanced .service-world-heading .serif{font-size:clamp(42px,4.7vw,68px)}
.home-flow-enhanced .service-world-heading .text-link{font-size:16px}
.home-flow-enhanced .service-world-intro{position:absolute;top:clamp(190px,26vh,270px);left:0;width:42%;z-index:2}
.home-flow-enhanced .service-world-sticky,.home-flow-enhanced .service-story[data-world-enhanced=true] .service-world-sticky{position:absolute;top:18px;right:-24px;bottom:18px;width:58%;height:calc(100% - 36px);min-height:0;margin:0}
.home-flow-enhanced .service-world-canvas{width:100%;height:100%;margin:0}
.home-flow-enhanced .service-story-copy,.home-flow-enhanced .service-story[data-world-enhanced=true] .service-story-copy{position:absolute;inset:0 auto 0 0;width:42%;height:100%;margin:0;z-index:2}
.home-flow-enhanced .service-story-panel,.home-flow-enhanced .service-story[data-world-enhanced=true] .service-story-panel,.home-flow-enhanced .service-story-panel:first-child{position:absolute;inset:0;min-height:0;height:100%;padding:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.home-flow-enhanced .service-story-panel h3{font-size:clamp(32px,3.3vw,47px);line-height:1.6;margin-bottom:24px}
.home-flow-enhanced .service-story-description{font-size:18px;line-height:2;color:var(--page-muted)}
.home-flow-enhanced .service-story-panel .text-link{font-size:16px;margin-top:28px}
.home-flow:not(.home-flow-enhanced) .service-world-intro{padding-block:24px}
@media(max-width:1024px){
 .home-flow-enhanced .service-story .service-world-layout{width:calc(100% - 48px)}
 .home-flow-enhanced .service-world-heading{top:20px;width:100%}
 .home-flow-enhanced .service-world-heading .section-heading{flex-direction:row;align-items:center;justify-content:space-between}
 .home-flow-enhanced .service-world-heading .serif{font-size:34px}
 .home-flow-enhanced .service-world-heading .text-link{font-size:14px}
 .home-flow-enhanced .service-world-sticky,.home-flow-enhanced .service-story[data-world-enhanced=true] .service-world-sticky{inset:72px -24px 274px;width:calc(100% + 48px);height:calc(100% - 346px)}
 .home-flow-enhanced .service-story-copy,.home-flow-enhanced .service-story[data-world-enhanced=true] .service-story-copy,.home-flow-enhanced .service-world-intro{inset:auto 0 20px;width:100%;height:242px;top:auto}
 .home-flow-enhanced .service-world-intro h2{font-size:27px;line-height:1.45;margin-bottom:12px}
 .home-flow-enhanced .service-world-intro p{font-size:16px;line-height:1.8}
 .home-flow-enhanced .service-story-panel,.home-flow-enhanced .service-story[data-world-enhanced=true] .service-story-panel{justify-content:flex-start}
 .home-flow-enhanced .service-story-panel h3{font-size:28px;line-height:1.45;margin-bottom:14px}
 .home-flow-enhanced .service-story-description{font-size:16px;line-height:1.8}
 .home-flow-enhanced .service-story-panel .text-link{margin-top:10px;font-size:15px}
}
@media(max-width:800px){
 :root{--header-height:100px}
 .site-v25 .header-inner{width:calc(100% - 40px);display:grid;grid-template-rows:46px 44px;grid-template-columns:1fr;gap:0;padding-top:6px}
 .site-v25 .site-header .wordmark{font-size:23px}
 .site-v25 .site-header .main-nav,.site-v25 .site-header .main-nav.is-open{display:flex;flex-direction:row;position:static;inset:auto;padding:0;gap:0;width:100%;justify-content:space-between;background:transparent;border:0;box-shadow:none}
 .site-v25 .main-nav a,.site-v25 .main-nav .nav-contact{font-size:14px;min-height:44px;padding:0 4px;margin:0;border:0;letter-spacing:.025em}
 .site-v25 .main-nav .nav-contact .arrow{display:none}
 .site-v25.editorial-page .case-copy p,.site-v25.editorial-page .detail-item p,.site-v25.editorial-page .video-caption{font-size:16px}
 .site-v25.editorial-page .case-facts dd,.site-v25.editorial-page .text-link,.site-v25.editorial-page .company-meta dd{font-size:16px}
 .home-flow-enhanced .hero-main{width:calc(100% - 48px);display:grid;grid-template-columns:1fr;grid-template-rows:auto minmax(170px,1fr);padding-block:28px 8px;gap:12px}
 .home-flow-enhanced .hero-copy{padding:0}
 .home-flow-enhanced .hero h1{font-size:37px;line-height:1.45}
 .home-flow-enhanced .hero-lead{font-size:15px;line-height:1.8;margin-top:16px}
 .home-flow-enhanced .hero-actions{margin-top:20px;gap:16px;flex-wrap:wrap}
 .home-flow-enhanced .hero-actions .button,.home-flow-enhanced .hero-actions .text-link{font-size:14px;min-height:44px}
 .home-flow-enhanced .hero-actions .button{padding:12px 15px}
 .home-flow-enhanced .hero-visual{width:100%;height:100%;margin:0;max-width:400px;justify-self:center}
 .home-flow-enhanced .hero-object{width:100%;height:100%;margin:0}
}
@media(max-height:700px) and (max-width:1024px){
 .home-flow-enhanced .service-world-sticky,.home-flow-enhanced .service-story[data-world-enhanced=true] .service-world-sticky{bottom:244px;top:56px;height:calc(100% - 300px)}
 .home-flow-enhanced .service-world-heading .serif{font-size:29px}
 .home-flow-enhanced .service-world-intro,.home-flow-enhanced .service-story-copy,.home-flow-enhanced .service-story[data-world-enhanced=true] .service-story-copy{height:224px;bottom:12px}
 .home-flow-enhanced .service-world-intro h2,.home-flow-enhanced .service-story-panel h3{font-size:24px}
 .home-flow-enhanced .service-world-intro p,.home-flow-enhanced .service-story-description{font-size:15px}
}
@media(prefers-reduced-motion:reduce){.home-flow .hero{min-height:calc(100svh - var(--header-height));position:relative}.home-flow .service-story{height:auto}.home-flow .service-world-intro{position:relative}.home-flow .service-story-panel{transform:none!important;opacity:1!important}}

/* Readable labels and comfortable targets on the shared pages. */
.site-v25 .wordmark{min-height:44px;display:inline-flex;align-items:center}
.site-v25 .footer-bottom a,.site-v25 .editor-note a,.site-v25 .contact-consent a,.site-v25 .copy-section a.link{display:inline-flex;align-items:center;min-height:44px}
.site-v25 .field label,.site-v25 .company-meta dt{font-size:15px;line-height:1.8}
.site-v25 .required,.site-v25 #approach .step .num{font-size:14px}
.site-v25 .editor-note{font-size:16px!important;line-height:1.9}
.site-v25 .contact-form input,.site-v25 .contact-form select,.site-v25 .contact-form textarea{font-size:16px}
.site-v25 .contact-consent{min-height:44px;align-items:center}
.site-v25 .contact-consent input{width:24px;height:24px;flex-shrink:0}
@media(max-width:800px){.site-v25 .footer-bottom{gap:12px}.site-v25 .footer-bottom>span:last-child{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.site-v25 .footer-bottom a{margin:0}}
