:root{--navy:#142c3b;--paper:#f6f5ef;--ink:#203745;--muted:#546770;--gold:#a4864e;--line:#d6dcd9;--color-destructive:#a62828;--radius-control:2px}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.85 Arial,"Noto Sans JP",sans-serif}a{color:inherit}header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:25px 6vw;border-bottom:1px solid var(--line);background:var(--paper)}.brand{text-decoration:none;line-height:1.1;letter-spacing:.09em;font-family:Georgia,serif;font-size:25px}.brand small{display:block;font:10px/2 Arial;letter-spacing:.28em}nav{display:flex;gap:25px;align-items:center;font-size:13px}nav a{text-decoration:none}nav a[aria-current]{border-bottom:2px solid var(--gold)}.language{border-left:1px solid var(--line);padding-left:22px}main{min-height:65vh}section,.page{padding:80px 8vw}.hero{padding:95px 8vw 75px;background:var(--navy);color:#fff;position:relative;overflow:hidden;min-height:650px}.hero:after{content:"";position:absolute;width:550px;height:550px;right:-180px;bottom:-220px;border:1px solid #637d88;transform:rotate(-25deg);box-shadow:0 0 0 45px #ffffff05,0 0 0 90px #ffffff05,0 0 0 135px #ffffff05;pointer-events:none}.eyebrow{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:700}.hero .eyebrow{color:#d4bf96}h1,h2,h3,p{margin-top:0}h1{font:clamp(38px,5.2vw,77px)/1.15 Georgia,serif;letter-spacing:-.025em;max-width:1000px;margin:30px 0}html[lang=ja] h1{font-family:serif;font-size:clamp(34px,4.2vw,64px);line-height:1.5;letter-spacing:.03em}h2{font:clamp(28px,3vw,44px)/1.4 Georgia,serif}h3{font-size:21px;line-height:1.55;font-weight:500}.lead{max-width:730px;font-size:18px;color:var(--muted)}.hero .lead{color:#dde4e7}.hero .tagline{color:#d7bf91;letter-spacing:.06em}.btn{display:inline-block;padding:14px 23px;background:var(--navy);color:white;border:1px solid var(--navy);text-decoration:none;font:inherit;font-size:14px;cursor:pointer;border-radius:var(--radius-control)}.hero .btn,.dark .btn{background:#d3bd91;color:var(--navy);border-color:#d3bd91}.secondary{margin-left:25px;text-underline-offset:5px;font-size:14px}.split{display:grid;grid-template-columns:1fr 1.4fr;gap:9vw}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:35px}.row{padding:28px 0;border-top:1px solid var(--line)}.row p{color:var(--muted);margin-bottom:0}.num{color:var(--gold);font:12px Arial;letter-spacing:.1em}.cardlink{text-decoration:none;display:block}.cardlink:hover h3{text-decoration:underline;text-underline-offset:5px}.dark{background:var(--navy);color:white}.dark p{color:#d6e0e4}.band{padding:22px 8vw;border-bottom:1px solid var(--line);display:flex;gap:35px;flex-wrap:wrap;font-size:12px;letter-spacing:.12em}.stat{font:70px Georgia;color:var(--gold)}.stat small{font:15px Arial;display:block;color:var(--muted)}.details{width:100%;border-collapse:collapse}.details td{padding:19px 5px;border-top:1px solid var(--line);vertical-align:top}.details td:first-child{width:28%;color:var(--muted)}footer{padding:45px 6vw;background:#102632;color:#c8d2d6;display:flex;justify-content:space-between;gap:30px;font-size:12px}footer a{text-underline-offset:4px}.formfield{margin:0 0 22px}label{display:block;margin-bottom:6px;font-size:14px}input,textarea,select{width:100%;padding:13px;border:1px solid #9eaeb4;border-radius:2px;background:#fff;font:inherit;color:var(--ink)}textarea{min-height:150px}.error{color:var(--color-destructive);font-size:13px;margin:4px 0}button:disabled{opacity:.5;cursor:wait}.note{font-size:13px;color:var(--muted)}.skip{position:absolute;left:-9999px}.skip:focus{left:0;top:0;background:white;padding:10px;z-index:9}:focus-visible{outline:3px solid #b59146;outline-offset:4px}html{scroll-behavior:smooth}@media(max-width:800px){header{align-items:flex-start;flex-direction:column;padding:20px 6vw}nav{gap:16px;flex-wrap:wrap;font-size:12px}.language{padding-left:12px}section,.page{padding:52px 7vw}.hero{min-height:580px;padding:60px 7vw}.split,.grid{grid-template-columns:1fr;gap:28px}footer{flex-direction:column}.secondary{display:block;margin:20px 0 0}.details td:first-child{width:32%}.hero:after{right:-400px}.band{gap:12px 25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.brand-logo{display:block;width:180px;height:auto;max-width:100%}header{background:#fff;padding-top:16px;padding-bottom:16px}footer .brand{align-self:flex-start;background:#fff;padding:12px;line-height:0}footer .brand-logo{width:160px}@media(max-width:800px){.brand-logo{width:155px}}

.hero{isolation:isolate;background:#080e25 url("hero-poster.jpg") center/cover no-repeat}.hero:after{inset:0;width:auto;height:auto;border:0;transform:none;box-shadow:none;background:linear-gradient(90deg,rgba(4,10,27,.84) 0%,rgba(4,10,27,.72) 55%,rgba(4,10,27,.16) 100%);z-index:0}.hero> :not(.hero-video){position:relative;z-index:1}.hero .hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-1;pointer-events:none}.hero .hero-video-toggle{position:absolute;right:24px;bottom:18px;padding:7px 12px;background:#081024bb;border:1px solid #ffffff80;color:#fff;font:12px/1.5 Arial,sans-serif;cursor:pointer;border-radius:2px}@media(max-width:800px){.hero:after{right:0;background:rgba(4,10,27,.72)}}

.sector-icon{display:block;width:52px;height:52px;color:var(--gold);margin:0 0 18px}.footer-links{display:flex;flex-direction:column;gap:8px}footer>div:nth-child(2){max-width:310px}.policy-page{max-width:1100px;margin:auto}.policy-page h1{font-size:clamp(30px,4vw,54px);overflow-wrap:anywhere}.policy-section{padding-top:28px;border-top:1px solid var(--line);margin-top:28px}.policy-section h2{font:600 21px/1.6 Arial,sans-serif}.policy-section p{max-width:850px}.policy-page .lead{max-width:850px}

/* Bedrock editorial design */
:root{--paper:#fff;--ink:#17232c;--muted:#56616b;--navy:#0b1822;--gold:#d40032;--line:#dedfe1}
body{line-height:1.8}
header{padding:18px 6vw;gap:24px;border-bottom:1px solid #e8e8e8}
header .brand-logo{width:160px}
nav{gap:24px;font-size:13px;font-weight:600}
nav a:hover{color:var(--gold)}
nav a[aria-current]{border-bottom-color:var(--gold)}
h1,h2{font-family:Arial,"Noto Sans JP",sans-serif;font-weight:600;letter-spacing:-.035em}
html[lang=ja] h1{font-family:Arial,"Noto Sans JP",sans-serif;font-weight:600;letter-spacing:-.03em}
h2{font-size:clamp(30px,3.3vw,48px);line-height:1.35}
h3{font-weight:600}
.hero h1{font-family:Georgia,serif;font-weight:400}
html[lang=ja] .hero h1{font-family:serif;font-weight:400}
.hero .eyebrow,.hero .tagline{color:#f3e5d5}
.btn{background:var(--gold);border-color:var(--gold);font-weight:600;border-radius:0}
.hero .btn,.dark .btn{background:var(--gold);color:white;border-color:var(--gold)}
.btn:hover{background:#ae0029;border-color:#ae0029}
.band{background:#f5f5f4;font-size:10px;justify-content:space-between}
.eyebrow{font-size:10px;letter-spacing:.18em;margin-bottom:22px}
.editorial-split{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:0;margin:95px 6vw;align-items:stretch}
.feature-copy{padding:50px 5vw 50px 0;display:flex;flex-direction:column;justify-content:center}
.feature-copy .lead{font-size:17px}
.editorial-photo{margin:0;min-width:0;position:relative;background:#101b28;overflow:hidden}
.editorial-photo img{width:100%;height:100%;min-height:460px;display:block;object-fit:cover}
.editorial-photo figcaption{position:absolute;right:12px;bottom:8px;font:10px/1.4 Arial;color:white;background:#0008;padding:3px 6px}
.text-link{font-weight:700;text-decoration:none;font-size:14px;margin-top:15px}
.text-link span{color:var(--gold);margin-left:22px}
.text-link:hover{text-decoration:underline;text-underline-offset:5px}
.services-editorial{background:#f4f4f3;padding:85px 8vw}
.services-editorial h2{max-width:780px}
.services-list{grid-template-columns:1fr;gap:0;margin-top:40px}
.services-list .row{display:grid;grid-template-columns:45px 1fr 1fr;gap:24px;padding:27px 0;align-items:start}
.services-list .row h3{margin:0;font-size:21px}
.services-list .row p{font-size:15px}
.services-list .num{padding-top:7px}
.industry-feature{margin:0;background:#101b28;color:white}
.industry-feature .feature-copy{padding:65px 6vw}
.industry-feature .lead{color:#d7dde1}
.industry-feature .eyebrow{color:#ff5475}
.sectors-editorial{padding-top:90px}
.sector-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px 40px;margin-top:40px}
.sector-list h3{font-size:21px}
.sector-list p{font-size:15px}
.sector-icon{color:var(--gold);width:44px;height:44px}
.experience-editorial{border-top:1px solid var(--line);background:#fafafa;align-items:center}
.stat{font:400 110px/1 Georgia;color:var(--gold)}
.stat small{margin-top:20px;line-height:1.8;max-width:310px}
.insights-editorial{background:#fff;scroll-margin-top:25px}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:25px}
.section-heading h2{font-size:clamp(36px,4vw,58px);margin-bottom:20px}
.coming-soon{border:1px solid var(--line);padding:7px 14px;font-size:12px;white-space:nowrap}
.insights-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:40px}
.insight-preview{padding:28px;background:#f5f5f4;border-top:3px solid var(--gold)}
.insight-preview h3{font-size:23px;line-height:1.4}
.insight-preview p{font-size:14px}
.insight-preview .preview-label{font-size:10px;letter-spacing:.14em;color:#686e74;margin:28px 0 12px}
.preview-status{font-size:12px;color:#666}
.dark.split{background:#111e28;padding-top:70px;padding-bottom:70px}
footer{background:#000;align-items:center;padding:48px 6vw;gap:35px;color:#bfc4c9;flex-wrap:wrap}
footer .brand{background:#000;padding:0;width:300px;flex-shrink:0}
footer .brand-logo{width:300px;height:auto;max-width:100%}
footer>div:nth-child(2){font-size:11px;max-width:260px}
.footer-links{font-size:11px;gap:9px}
.page-banner{height:280px;margin:35px 0 55px}
.page-banner img{min-height:0;height:100%;object-position:center 48%}
.policy-page h1{font-family:Arial,sans-serif}
@media(max-width:1000px){nav{gap:16px}.sector-list{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-copy{padding:35px}.editorial-split{margin:55px 4vw}.industry-feature{margin:0}.insights-grid{gap:16px}.insight-preview{padding:22px}}
@media(max-width:800px){header{padding:16px 6vw;gap:16px}header .brand-logo{width:140px}nav{gap:12px 18px;font-size:12px}.editorial-split{grid-template-columns:1fr;margin:45px 0}.feature-copy,.industry-feature .feature-copy{padding:40px 7vw}.editorial-photo img{min-height:0;height:320px}.industry-feature{margin:0}.services-list .row{grid-template-columns:30px 1fr;gap:15px}.services-list .row p{grid-column:2}.sector-list,.insights-grid{grid-template-columns:1fr}.section-heading{align-items:flex-start;flex-direction:column;gap:0}.section-heading h2{margin-bottom:12px}.coming-soon{margin-bottom:25px}.stat{font-size:85px}footer{align-items:flex-start;gap:30px}footer .brand,footer .brand-logo{width:260px}.page-banner{height:230px;margin-bottom:35px}.page-banner img{height:100%}.services-editorial{padding:55px 7vw}.hero .secondary{margin-bottom:20px}}

/* Responsive image stories and persistent navigation */
:root{--header-height:82px}
body{padding-top:var(--header-height)}
.site-header{position:fixed;inset:0 0 auto;z-index:1000;height:var(--header-height);display:flex;flex-direction:row;align-items:center;justify-content:flex-start;padding:10px max(24px,4vw);gap:24px;background:#fff;box-shadow:0 1px 0 #ddd}
.site-header .brand-logo{width:132px;max-height:62px;object-fit:contain}
.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:10px;border:0;background:transparent;cursor:pointer;flex-shrink:0}
.menu-toggle span{display:block;width:24px;height:2px;background:#62676b;transition:transform .2s,opacity .2s}
.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;border-bottom:1px solid #ddd;padding:28px max(24px,4vw);gap:24px;box-shadow:0 12px 20px #0001;max-height:calc(100dvh - var(--header-height));overflow:auto}
.site-header nav.is-open{display:flex}
.site-header nav a{font-size:15px;padding:8px 0}
.skip:focus{position:fixed;z-index:1100}
[id]{scroll-margin-top:calc(var(--header-height) + 24px)}
.feature-stories{max-width:1280px;margin:0 auto;padding:64px 32px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;align-items:start}
.feature-stories .editorial-split{display:flex;flex-direction:column;margin:0;padding:0;background:#fff;color:var(--ink);min-width:0}
.feature-stories .editorial-photo{order:-1;width:100%;aspect-ratio:16/9;flex:none;background:#101b28}
.feature-stories .editorial-photo img{display:block;width:100%;height:100%;min-height:0;object-fit:cover}
.feature-stories .feature-copy{display:block;padding:24px 0 28px;border-bottom:1px solid #d6d6d6}
.feature-stories .eyebrow{color:#c9002e;font-size:12px;letter-spacing:.06em;margin-bottom:12px}
.feature-stories h2{font-size:clamp(25px,2.5vw,36px);line-height:1.4;margin-bottom:18px}
.feature-stories h2 br{display:none}
.feature-stories .lead{font-size:17px;line-height:1.8;color:var(--ink);margin-bottom:20px}
.feature-stories .text-link{display:inline-block;margin:0;font-size:14px}
.feature-stories figcaption{font-size:9px;right:6px;bottom:6px}
@media(max-width:800px){
 :root{--header-height:72px}
 .site-header{padding:8px 16px;gap:14px}
 .site-header .brand-logo{width:116px;max-height:54px}
 .site-header nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:12px 24px 24px}
 .site-header nav a{padding:13px 0;border-bottom:1px solid #eee}
 .site-header nav .language{border-left:0}
 .feature-stories{display:grid;grid-template-columns:1fr;padding:32px 16px 40px;gap:28px}
 .feature-stories .feature-copy{padding:16px 0 24px}
 .feature-stories .eyebrow{font-size:11px;letter-spacing:.04em;margin-bottom:10px}
 .feature-stories h2{font-size:24px;line-height:1.45;margin-bottom:14px}
 .feature-stories .lead{font-size:16px;line-height:1.75;margin-bottom:18px}
}
@media(prefers-reduced-motion:reduce){.menu-toggle span{transition:none}}

/* Desktop navigation; mobile retains the hamburger disclosure. */
@media(min-width:801px){.site-header{justify-content:space-between;gap:24px}.site-header .menu-toggle{display:none}.site-header .brand{flex-shrink:0}.site-header nav,.site-header nav.is-open{display:flex;position:static;flex-direction:row;align-items:center;flex-wrap:nowrap;margin-left:auto;padding:0;gap:clamp(14px,2vw,30px);border:0;box-shadow:none;max-height:none;overflow:visible;background:transparent}.site-header nav a{font-size:14px;white-space:nowrap}.site-header nav .language{padding-left:18px}}

footer .brand{width:auto}footer .brand-logo{width:132px;height:auto}@media(max-width:800px){footer .brand-logo{width:116px}}

.founder-profile{display:grid;grid-template-columns:minmax(220px,.7fr) 1.3fr;gap:6vw;align-items:start;margin-top:40px}.founder-profile>img{display:block;width:100%;height:auto}.founder-profile p{font-size:18px;line-height:1.85}@media(max-width:800px){.founder-profile{grid-template-columns:1fr;gap:32px}.founder-profile>img{max-width:420px}.founder-profile p{font-size:16px}}

/* Founder portrait crop on Company Overview */
.founder-profile{grid-template-columns:minmax(260px,330px) minmax(0,1fr);max-width:1120px;gap:5vw}
.founder-profile>img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 68%;align-self:start}
@media(max-width:800px){
 .founder-profile{grid-template-columns:1fr}
 .founder-profile>img{width:min(100%,290px);aspect-ratio:4/5;object-position:50% 68%}
}
/* 2026-11-04 unified global header */
.site-header .brand{order:0;line-height:1}
.site-header nav{order:2}
.site-header .menu-toggle{order:1;margin-left:auto}
@media(min-width:801px){
 :root{--header-height:78px}
 .site-header{height:78px;padding:8px 4vw;gap:18px;justify-content:space-between}
 .site-header .brand-logo{width:140px;max-height:64px}
 .site-header nav,.site-header nav.is-open{gap:clamp(13px,1.9vw,32px)}
 .site-header nav a,
 .site-header nav a[aria-current]{
  font-size:13px;
  font-weight:600;
  letter-spacing:.02em;
  padding:8px 0;
 }
}
@media(min-width:801px) and (max-width:1000px){
 .site-header .brand-logo{width:125px}
 .site-header nav a,
 .site-header nav a[aria-current]{font-size:12px}
}
@media(max-width:800px){
 :root{--header-height:70px}
 .site-header{
  height:70px;
  padding:8px 20px;
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:space-between;
  gap:15px;
 }
 .site-header .brand{order:0}
 .site-header .brand-logo{width:121px;max-height:58px}
 .site-header .menu-toggle{display:flex;order:1;margin-left:auto}
 .site-header nav,
 .site-header nav.is-open{order:2}
 .site-header nav a{font-size:15px}
}

/* 2026-11-04 inner-page photos aligned with home */
.page-banner{
  position:relative;
  isolation:isolate;
  overflow:visible;
  background:transparent;
  height:clamp(370px,36vw,540px);
}
.page-banner img{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  height:100%;
  min-height:0;
  object-fit:cover;
  filter:saturate(.62) contrast(1.08);
  box-shadow:0 24px 55px rgba(7,13,21,.18);
}
.page-banner:before{
  content:"";
  position:absolute;
  z-index:0;
  background:#d9003b;
}
.page-banner:after{
  content:"";
  position:absolute;
  z-index:2;
  inset:0;
  background:linear-gradient(90deg,#07101a40,transparent 55%,#c9003518);
  pointer-events:none;
}
.page-banner figcaption{z-index:3}
.page-banner-right{
  width:calc(88% + 7vw);
  margin:76px -7vw 82px auto;
}
.page-banner-right:before{
  left:-38px;
  top:-30px;
  width:clamp(92px,10vw,160px);
  height:68%;
}
.page-banner-right img{object-position:center 6%}
.page-banner-left{
  width:calc(88% + 7vw);
  margin:70px auto 88px -7vw;
}
.page-banner-left:before{
  right:-38px;
  bottom:-30px;
  width:clamp(92px,10vw,160px);
  height:68%;
}
.page-banner-left img{object-position:center 50%}
@media(max-width:800px){
  .page-banner{
    width:calc(100% - 14px);
    height:260px;
  }
  .page-banner-right{
    margin:44px 0 50px 14px;
  }
  .page-banner-right:before{
    left:-14px;
    top:-14px;
    width:28%;
    height:58%;
  }
  .page-banner-right img{object-position:center 6%}
  .page-banner-left{
    margin:42px 14px 50px 0;
  }
  .page-banner-left:before{
    right:-14px;
    bottom:-14px;
    width:28%;
    height:58%;
  }
  .page-banner-left img{object-position:center 50%}
}
/* end inner-page photos aligned with home */

/* Natural Japanese heading breaks, original font sizes unchanged, 2026-11-05 */
html[lang="ja"] .jp-controlled-break{word-break:keep-all;overflow-wrap:normal;}
