.brand-image img{display:block;width:230px;height:auto}.footer-brand{display:inline-flex;padding:9px 13px;border-radius:8px;background:rgba(255,255,255,.95)}
.hero{isolation:isolate;min-height:650px;background:#f4faf9 url('/assets/rd-insight-works-hero.webp') center/cover no-repeat}.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.93) 31%,rgba(255,255,255,.58) 51%,rgba(255,255,255,.08) 74%)}.hero-grid{grid-template-columns:minmax(0,670px) 1fr}.hero-copy{position:relative;z-index:2}.hero-visual{display:none}.hero h1{text-shadow:0 2px 20px rgba(255,255,255,.9)}
@media(max-width:900px){.hero{min-height:auto;background-position:62% center}.hero::after{background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.91) 62%,rgba(255,255,255,.45) 100%)}.hero-grid{grid-template-columns:minmax(0,650px)}}
@media(max-width:600px){.brand-image img{width:190px}.hero{background-position:68% center}.hero::after{background:rgba(255,255,255,.88)}.footer-brand{padding:8px 10px}}

/* Refined typography shared with R&D Analytics Hub */
:root{font-family:"Noto Sans JP","Hiragino Sans","Yu Gothic UI","Yu Gothic",sans-serif;font-feature-settings:"palt" 1,"kern" 1}
body{font-family:"Noto Sans JP","Hiragino Sans","Yu Gothic UI","Yu Gothic",sans-serif;letter-spacing:.012em}
h1,h2,h3,.brand,.nav,.button,.eyebrow,.product-label,.contact-card>span,.footer-contact span{font-family:"Avenir Next","Helvetica Neue","Noto Sans JP","Hiragino Sans","Yu Gothic UI",sans-serif}
.hero h1,.section-heading h2,.two-column h2,.product-copy h2,.contact-inner h2{font-weight:650;letter-spacing:-.045em}
.hero h1{line-height:1.25}.section-heading h2,.two-column h2,.product-copy h2,.contact-inner h2{line-height:1.4}
.lead,.section-heading>p,.service-card p,.process p,.principles p,.product-lead{letter-spacing:.015em}
.eyebrow{font-weight:750;letter-spacing:.19em}.nav>a,.button,.nav-cta{letter-spacing:.01em}
@media(max-width:600px){.hero h1,.section-heading h2,.two-column h2,.product-copy h2,.contact-inner h2{letter-spacing:-.035em}.eyebrow{letter-spacing:.15em}}

/* Japanese line rhythm and section alignment */
.section-heading{grid-template-columns:minmax(0,1fr) minmax(360px,.84fr);gap:64px;align-items:center}
.section-heading h2,.two-column h2,.contact-inner h2{text-wrap:pretty;word-break:auto;line-break:strict}
.section-heading>p{max-width:34em;line-height:2}
@media(max-width:900px){.section-heading{grid-template-columns:1fr;gap:22px;align-items:start}.section-heading>p{max-width:46em}}
@media(max-width:600px){.section-heading{gap:18px}.section-heading h2 br{display:none}.section-heading>p{line-height:1.9}}

/* Keep Japanese headings readable without awkward isolated characters. */
.hero h1,.section-heading h2,.two-column h2,.product-copy h2,.contact-inner h2{word-break:keep-all;overflow-wrap:anywhere}
.lead,.section-heading>p,.service-card p,.process p,.principles p,.product-lead,.contact-inner>div>p{line-break:strict;text-wrap:pretty}
@media(max-width:600px){.hero h1,.contact-inner h2{word-break:normal}.contact-inner h2 br{display:none}}
.analytics-opt-out{justify-self:start;margin-top:8px;padding:0;border:0;background:transparent;color:#8eb2b8;font:inherit;font-size:12px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.analytics-summary{max-width:28em;margin:12px 0 0;color:#8eb2b8;font-size:12px;line-height:1.7}.policy-main{padding:150px 0 100px;background:#f6faf9}.policy-shell{max-width:900px}.policy-shell>p{max-width:48em;color:#47626c;line-height:1.9}.policy-card{margin-top:40px;padding:clamp(28px,5vw,56px);border:1px solid #dce8e8;border-radius:18px;background:#fff;box-shadow:0 20px 50px rgba(11,55,65,.06)}.policy-card h2{margin:36px 0 12px;color:#073b49;font-size:22px}.policy-card h2:first-child{margin-top:0}.policy-card p,.policy-card li{color:#45616b;line-height:1.9}.policy-card ul{padding-left:1.4em}.policy-updated{margin-top:32px;font-size:13px}.simple-footer{padding:28px 0;background:#07343e;color:#b8d1d5}.simple-footer .container{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}.simple-footer a{color:#fff}
.answer-summary{max-width:720px;margin:24px 0;padding:16px 20px;border-left:3px solid #22b7ae;background:rgba(255,255,255,.72);color:#244955;font-size:15px;line-height:1.8}.answer-summary strong{margin-right:10px;color:#087f7b;font-size:11px;letter-spacing:.12em}
