.official-logo{display:block;width:210px;height:auto;max-width:100%;object-fit:contain}
.site-footer .official-logo{width:240px}.hero-buttons strong{font-size:1.05em;font-weight:700;line-height:1.35}.hero-buttons a{min-width:0}.cta-japanese{font-size:13px!important;margin-top:12px!important}
:focus-visible{outline:2px solid #cbe86a;outline-offset:5px}html{scroll-padding-top:100px}input,textarea{font-size:16px}.form-honey{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important}
@media(max-width:700px){.official-logo{width:170px}.site-footer .official-logo{width:190px}.hero-buttons strong{font-size:16px}.hero-buttons small{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-caption,.motion-title,.motion-translation,.motion-support,.motion-detail,.motion-actions{opacity:1;transform:none;filter:none}}

/* Source SVG composition with a transparent luminance key; no colored rectangle. */
.official-logo{width:210px;height:auto;aspect-ratio:232/42;background:transparent}
.footer .official-logo-footer{width:95px;aspect-ratio:890/650}
/* Every heading remains legible before/after entry, with JS disabled and reduced motion. */
.brand-moment .moment-copy > *, .brand-moment h2 span {
 opacity:1;visibility:visible!important;clip-path:none!important;transform:none;animation:none!important;
}
.brand-moment .moment-copy{max-width:1180px;margin-inline:auto}
.brand-moment h2 span{text-wrap:balance;word-break:normal;overflow-wrap:normal}
.moment-in-view .moment-copy{animation:copy-settle .5s ease-out both}
@keyframes copy-settle{from{translate:0 8px}to{translate:0 0}}
/* Do not leave primary copy or navigation absent during a seven-second intro. */
.motion-hero .motion-line,.motion-hero .motion-caption,.motion-hero .motion-translation,
.motion-hero .motion-support,.motion-hero .motion-detail,.motion-hero .motion-actions{
 opacity:1;visibility:visible!important;clip-path:none!important;filter:none;transform:none;animation:none!important;
}
.copy-unit{display:inline-block;white-space:nowrap}
h1,h2,h3{word-break:normal;line-break:strict;overflow-wrap:normal}
.balanced-heading,h2 span,h3{ text-wrap:balance }
p{line-break:strict;text-wrap:pretty}
@media(max-width:900px){
 .official-logo{width:180px}
 .global-page .hero.motion-expansion h1.motion-title{font-size:clamp(42px,7.8vw,66px)}
}
@media(max-width:600px){
 .official-logo{width:170px}.footer .official-logo-footer{width:85px}
 .hero.motion-hero h1.motion-title{font-size:clamp(25px,7.2vw,43px);line-height:1.4;letter-spacing:-.055em}
 .hero.motion-hero h1.motion-title .motion-line-first{max-width:100%!important}
 .hero.motion-hero h1.motion-title .copy-unit{display:inline-block}
 .global-page .hero.motion-expansion h1.motion-title{font-size:clamp(37px,10.3vw,60px);line-height:1.12}
 .brand-moment{min-height:360px;padding-top:64px;padding-bottom:64px}
 .brand-moment .moment-first{font-size:clamp(21px,5.7vw,29px);line-height:1.4;margin-bottom:22px}
 .brand-moment .moment-climax{font-size:clamp(30px,8.2vw,44px);line-height:1.3}
 .moment-business .moment-climax{max-width:12em}
 .moment-bridge .moment-climax{font-size:clamp(29px,7.8vw,43px);max-width:14em;margin-inline:auto;line-height:1.25}
 .brand-moment .moment-translation{font-size:17px;line-height:1.7}
 .hero-buttons strong{font-size:clamp(14px,3.9vw,18px)}
}
@media(prefers-reduced-motion:reduce){.moment-in-view .moment-copy{animation:none}}
@media(max-width:360px){
 .hero-buttons a{font-size:12px!important;padding-right:30px!important}
 .hero-buttons strong{font-size:13px}
 .hero.motion-hero .hero-target{font-size:17px;text-wrap:balance}
}
.hero.motion-hero h1.motion-title .copy-unit{display:inline-block;width:auto;max-width:none;text-align:left;white-space:nowrap}
.hero.motion-hero .hero-target .target-phrase{display:inline-block;font:inherit;font-style:normal;color:inherit;white-space:nowrap}

/* Intentional line breaks scale with their own columns, not the screen alone. */
.word-unit{font:inherit;font-style:normal;white-space:nowrap;display:inline}
.principle-heading .intentional-line{display:block;white-space:nowrap}
.founder-heading-box,.case-title-box{container-type:inline-size;min-width:0}
.profile h2.founder-heading{font-size:clamp(18px,6.8cqw,52px);line-height:1.55;letter-spacing:-.045em}
.founder-heading .intentional-line{display:block;white-space:nowrap}
.case-head .case-title{font-size:clamp(15px,6.1cqw,38px);line-height:1.55;letter-spacing:-.04em;margin:0}
.case-title .intentional-line{display:block;white-space:nowrap}
.site-header.privacy-header{background:#07151d;color:#f6f6f4;border-bottom:1px solid rgba(255,255,255,.2)}
.site-header.privacy-header a{color:inherit}
@media(max-width:600px){.profile h2.founder-heading{font-size:clamp(17px,6.8cqw,36px)}.case-head .case-title{font-size:clamp(14px,6.1cqw,28px)}}
.privacy-hero h1{font-size:clamp(40px,7.8vw,110px)}
@media(max-width:600px){.privacy-hero h1{font-size:clamp(34px,11vw,60px)}}

/* Child wrappers inherit heading typography; number styling never reaches copy. */
.process-grid h3 .intentional-line{font:inherit;letter-spacing:inherit;color:inherit;opacity:1}
.reveal-glyph{display:inline-block;opacity:1;filter:none;font:inherit;font-style:inherit;letter-spacing:inherit;color:inherit;white-space:inherit}
/* Character dissolves replace all inherited block / scroll reveals. */
.section-head,.process-grid,.strengths-intro,.strength-grid,.results-title,.results-grid,.profile > div,.contact > *,.moment-in-view .moment-copy{animation:none!important}
.motion-hero .motion-line-climax::after{animation:none!important;opacity:.22;transform:none}

/* Characters keep their original inline position throughout the reveal. */
.reveal-glyph{vertical-align:baseline;text-indent:0}

/* Hidden at first paint only when animation support and JS are available. */
html.motion-ready [data-motion="heading"]:not([data-motion-state]){opacity:0!important}
@media(prefers-reduced-motion:reduce){html.motion-ready [data-motion="heading"]:not([data-motion-state]){opacity:1!important}}
/* A single sliding surface; text, arrow and keyboard focus retain contrast. */
.cta-surface{--cta-fill:#07151d;--cta-color:#f6f6f4;position:relative;isolation:isolate;overflow:hidden;transition:color .5s cubic-bezier(.65,0,.35,1),border-color .5s}
.cta-surface::before{content:'';position:absolute;inset:0;z-index:-1;background:var(--cta-fill);transform:translateX(-101%);transition:transform .7s cubic-bezier(.65,0,.35,1);pointer-events:none}
.motion-hero .cta-surface{--cta-fill:#f6f6f4;--cta-color:#07151d}
.contact-form .cta-surface{--cta-fill:#cbe86a;--cta-color:#07151d}
.hero-cta.cta-surface{padding:12px 16px;border:1px solid currentColor;opacity:1}
.cta-surface:focus-visible::before{transform:translateX(0)}
.cta-surface:focus-visible,.cta-surface:focus-visible small{color:var(--cta-color)!important}
@media(hover:hover){
 .cta-surface:hover::before{transform:translateX(0)}
 .cta-surface:hover,.cta-surface:hover small{color:var(--cta-color)!important;opacity:1}
 .motion-hero .hero-buttons a.cta-surface:hover{background:rgba(255,255,255,.024);border-color:#f6f6f4}
 .contact-form button.cta-surface:hover{background:var(--ink)}
}
@media(prefers-reduced-motion:reduce){.cta-surface::before{transition:none}}

/* Original novabridge.jp type stack, shared by Japanese and English. */
body{font-family:Arial,'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif}
/* A temporary, thin turbulent veil disperses around stationary text. */
[data-motion="heading"]{position:relative;isolation:isolate}
.reveal-mist{position:absolute;inset:-16px -3%;z-index:1;pointer-events:none;display:block;font:inherit;opacity:0;mix-blend-mode:screen;background:radial-gradient(ellipse at 18% 58%,rgba(227,235,239,.23),transparent 57%),radial-gradient(ellipse at 54% 38%,rgba(231,237,240,.2),transparent 54%),radial-gradient(ellipse at 85% 65%,rgba(214,226,234,.18),transparent 53%);filter:url(#nova-mist-filter);transform-origin:center}
@media(max-width:600px){.reveal-mist{inset:-10px -2%}}
@media(prefers-reduced-motion:reduce){.reveal-mist{display:none}}

.reveal-word{display:inline-block;font:inherit;font-style:inherit;letter-spacing:inherit;white-space:nowrap}


/* Guide copy follows the same phrase units and width-aware headings as the service pages. */
.guide-title .intentional-line{display:block}
.guide-article h2 .word-unit{display:inline-block}
.guide-article .guide-step-heading{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:.3em;text-wrap:wrap}
.guide-step-heading .guide-step-number,.guide-step-heading .guide-step-copy{font:inherit;letter-spacing:inherit;color:inherit}
.guide-step-number{white-space:nowrap}
.guide-step-copy{min-width:0}
.guide-contact .hero-cta{max-width:100%;gap:12px}
.guide-cta-copy{min-width:0;text-wrap:balance}
.guide-cta-copy .word-unit{display:inline-block}
.guide-contact .hero-cta > [aria-hidden]{flex-shrink:0}
@media(max-width:600px){
 .guide-article h1.guide-title{font-size:clamp(34px,9vw,48px);line-height:1.3}
 .guide-title .intentional-line > .word-unit{display:block}
 .guide-article h2{font-size:clamp(20px,5.6vw,25px);line-height:1.6}
}
