:root{--navy:#071f42;--navy2:#0c315e;--gold:#bb8b25;--gold2:#d4aa4c;--ink:#1f2937;--paper:#faf9f6;--line:#ded8cd}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:"Noto Sans JP","Yu Gothic",YuGothic,sans-serif;line-height:1.75}a{color:inherit;text-decoration:none}img{object-fit:cover}.siteHeader{height:74px;background:linear-gradient(100deg,#061a37,#092d58);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;position:sticky;top:0;z-index:50;box-shadow:0 3px 18px #00152c33}.brand{display:flex;align-items:center;gap:11px;min-width:0}.brandMark{font:italic 700 42px/1 Georgia;color:var(--gold2);letter-spacing:-7px;margin-right:7px}.brand b{font-family:serif;font-size:clamp(14px,1.7vw,20px);white-space:nowrap}.brand small,.footerBrand small{display:block;font:600 9px/1.2 Georgia;color:var(--gold2);letter-spacing:1.4px}.desktopNav{display:flex;align-items:center;gap:2vw;font-size:13px}.navCta{border:1px solid var(--gold2);padding:9px 18px}.mobileMenu{display:none}.hero{min-height:650px;position:relative;overflow:hidden;background:#f8f6f1}.heroPhoto{position:absolute;inset:0 0 0 44%;}.heroPhoto:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#f8f6f1 0%,#f8f6f1dd 5%,transparent 42%),linear-gradient(0deg,#071f4266,transparent 35%)}.heroPhoto img{object-position:center}.heroCopy{position:relative;z-index:2;width:min(660px,53%);padding:100px 0 70px max(5vw,calc((100vw - 1280px)/2));}.eyebrow{font-size:14px;font-weight:700;letter-spacing:.16em;color:var(--gold);margin:0 0 20px}.hero h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(45px,5.2vw,76px);line-height:1.3;letter-spacing:.04em;color:var(--navy);margin:0 0 18px}.hero h1 span{color:var(--gold)}.heroSub{display:inline-block;background:var(--navy);color:#fff;padding:8px 30px;text-align:center;letter-spacing:.12em;margin:0 0 18px}.heroSub b{color:var(--gold2);font-size:20px}.heroLead{font-family:serif;font-size:15px;color:#334155}.heroActions{display:flex;gap:12px;margin-top:28px}.button{min-width:205px;min-height:67px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:4px;font-weight:700;box-shadow:0 8px 22px #001a3830;transition:.2s}.button:hover{transform:translateY(-2px)}.button small{font-size:11px;font-weight:400}.primary{background:var(--navy);color:#fff}.gold{background:linear-gradient(135deg,#a87715,#d7aa43);color:#fff}.outline{border:1px solid #ffffff80;color:#fff}.section{max-width:1180px;margin:auto;padding:100px 32px}.sectionHeading{text-align:center;margin-bottom:42px}.sectionHeading>p{color:var(--gold);font:600 11px/1 Georgia;letter-spacing:.3em}.sectionHeading h2{font-family:"Yu Mincho",serif;color:var(--navy);font-size:clamp(28px,3vw,42px);font-weight:500;letter-spacing:.08em;margin:15px 0 8px}.sectionHeading>span{font-size:14px;color:#687386}.concerns{padding-top:80px;padding-bottom:90px}.concernGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;background:#fafafa;border:1px solid #e7e4df;padding:30px 35px;box-shadow:0 6px 25px #081d3620}.concern{font-weight:600;padding:10px;border-bottom:1px solid #ddd}.concern span{display:inline-grid;place-items:center;width:23px;height:23px;background:var(--navy);color:#fff;border-radius:50%;font-size:13px;margin-right:13px}.solution{padding:95px 0 80px;background:var(--paper);overflow:hidden}.solutionVisual{position:relative;max-width:1180px;height:570px;margin:auto}.solutionVisual>img{object-position:center}.expert{position:absolute;top:25%;width:190px;height:190px;border-radius:50%;display:flex;flex-direction:column;justify-content:center;text-align:center;color:#fff;box-shadow:0 12px 30px #00163238;border:1px solid #ffffff55}.expertLeft{left:31%;background:#082b57eF}.expertRight{right:31%;background:#bb8b25ef}.expert small{font-size:13px}.expert b{font-family:serif;font-size:38px}.expert span{font-size:13px;line-height:1.6}.cross{position:absolute;top:37%;left:50%;translate:-50% -50%;font:300 58px/1 serif;color:var(--navy)}.solutionMessage{text-align:center;font-family:serif;font-size:20px;color:var(--navy);margin:26px 20px 0}.solutionMessage b{color:var(--gold)}.serviceGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.serviceCard{min-height:285px;border:1px solid #e2ddd4;padding:30px 25px;background:#fff;box-shadow:0 8px 25px #061a3710;position:relative}.serviceCard>span{font:italic 36px/1 Georgia;color:#dbc9a6}.serviceCard h3{font-family:serif;font-size:22px;color:var(--navy);border-bottom:1px solid var(--gold);padding-bottom:15px}.serviceCard p{font-size:13px;color:#647084}.serviceCard a{position:absolute;bottom:24px;font-size:12px;font-weight:700;color:var(--gold)}.books{background:linear-gradient(120deg,#061a37,#0b315f);padding:100px 32px;color:#fff}.booksInner{max-width:1180px;margin:auto}.sectionHeading.light h2{color:#fff}.sectionHeading.light>span{color:#c6d0df}.bookGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.bookGrid figure{margin:0;text-align:center}.bookGrid img{width:100%;height:auto;aspect-ratio:330/466;object-fit:contain;background:#fff;box-shadow:0 16px 35px #0008;transition:.25s}.bookGrid img:hover{transform:translateY(-8px)}.bookGrid figcaption{font-family:serif;margin-top:15px;font-size:14px;color:#e6cb94}.bookGrid figcaption b{font-size:24px}.authorGrid{display:grid;grid-template-columns:1fr 1fr;max-width:720px;margin:50px auto 30px;border-top:1px solid #ffffff33;border-bottom:1px solid #ffffff33}.authorGrid div{padding:18px 30px;display:flex;align-items:center;justify-content:space-between}.authorGrid div:first-child{border-right:1px solid #ffffff33}.authorGrid b{font-family:serif;font-size:19px}.authorGrid span{font-size:11px;color:#bbc6d4}.textLink{display:block;text-align:center;color:var(--gold2);font-size:13px}.reasonGrid{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line)}.reasonGrid div{min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-right:1px solid var(--line)}.reasonGrid div:last-child{border:0}.reasonGrid span{font:italic 20px Georgia;color:var(--gold)}.reasonGrid b{font-family:serif;color:var(--navy);font-size:16px;margin-top:16px}.contact{background:linear-gradient(#071f42e8,#071f42e8),url('../images/profile-open-hands.jpg') center 46%/cover;padding:85px 20px;text-align:center;color:#fff}.contact>p{color:var(--gold2);font-size:13px;letter-spacing:.2em}.contact h2{font-family:serif;font-size:clamp(28px,4vw,45px);font-weight:500;margin:10px}.contact>span{font-size:14px}.contact>div{display:flex;gap:15px;justify-content:center;margin-top:35px}footer{background:#04162f;color:#aeb9c7;padding:55px max(5vw,calc((100vw - 1180px)/2)) 25px}.footerBrand{display:flex;align-items:center;color:#fff}.footerBrand p{margin:0}.footerBrand b{font-family:serif}footer nav{display:flex;flex-wrap:wrap;gap:15px 30px;font-size:12px;margin:30px 0;border-top:1px solid #ffffff1f;padding-top:25px}footer>small{font:10px Georgia}.mobileOnly{display:none}

@media(max-width:800px){.siteHeader{height:64px;padding:0 18px;position:relative}.brandMark{font-size:34px}.brand b{font-size:13px}.brand small{font-size:7px}.desktopNav{display:none}.mobileMenu{display:block}.mobileMenu button{width:42px;height:42px;border:0;background:transparent;padding:8px}.mobileMenu i{display:block;height:2px;background:#fff;margin:6px 0}.mobileMenu nav{position:absolute;top:64px;left:0;right:0;background:#071f42;padding:14px 24px 24px;display:grid;box-shadow:0 15px 25px #0005}.mobileMenu nav a{padding:13px 3px;border-bottom:1px solid #ffffff22}.hero{min-height:650px;padding-bottom:0}.heroPhoto{inset:260px 0 0}.heroPhoto:after{background:linear-gradient(180deg,#f8f6f1 0%,transparent 28%),linear-gradient(0deg,#071f4299,transparent 50%)}.heroPhoto img{object-position:center}.heroCopy{width:100%;padding:38px 18px 0;text-align:center}.eyebrow{font-size:11px;margin-bottom:9px}.hero h1{font-size:39px;line-height:1.35;margin-bottom:12px}.heroSub{font-size:11px;padding:5px 24px}.heroSub b{font-size:15px}.heroLead{display:none}.heroActions{position:absolute;top:500px;left:14px;right:14px;gap:8px}.button{min-width:0;flex:1;min-height:62px;font-size:14px}.section{padding:70px 18px}.sectionHeading{margin-bottom:30px}.sectionHeading h2{font-size:27px;line-height:1.45}.mobileOnly{display:block}.concernGrid{grid-template-columns:1fr;padding:16px 15px;gap:0}.concern{font-size:14px;padding:10px 4px}.solution{padding:70px 0 55px}.solutionVisual{height:430px;margin-top:20px}.solutionVisual>img{object-position:center}.expert{top:45%;width:128px;height:128px}.expertLeft{left:20%}.expertRight{right:20%}.expert small{font-size:9px}.expert b{font-size:27px}.expert span{font-size:9px}.cross{top:60%;font-size:38px}.solutionMessage{font-size:15px}.serviceGrid{grid-template-columns:1fr 1fr;gap:10px}.serviceCard{min-height:245px;padding:20px 16px}.serviceCard>span{font-size:26px}.serviceCard h3{font-size:18px}.serviceCard p{font-size:12px}.books{padding:70px 16px}.bookGrid{gap:14px;grid-template-columns:1fr 1fr}.bookGrid figcaption{font-size:11px}.bookGrid figcaption b{font-size:19px}.authorGrid{grid-template-columns:1fr;margin-top:35px}.authorGrid div:first-child{border-right:0;border-bottom:1px solid #ffffff33}.authorGrid div{padding:15px 10px}.reasonGrid{grid-template-columns:1fr 1fr}.reasonGrid div{min-height:120px;border-bottom:1px solid var(--line)}.reasonGrid div:nth-child(even){border-right:0}.reasonGrid div:last-child{grid-column:span 2}.contact{padding:70px 16px}.contact>div{gap:9px}.contact .button{font-size:13px}footer{padding:45px 20px 20px}footer nav{display:grid;grid-template-columns:1fr 1fr}}

@media(max-width:430px){.hero h1{font-size:35px}.heroPhoto{inset:250px -80px 0}.heroActions{top:500px}.solutionVisual{height:380px}.solutionVisual>img{object-position:center}.expert{top:49%;width:115px;height:115px}.expertLeft{left:18%}.expertRight{right:18%}.cross{top:64%}.serviceGrid{grid-template-columns:1fr}.serviceCard{min-height:220px}.contact>div{flex-direction:column}.button{width:100%}}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.bookGrid img{transition:none}}
.contact{background-image:linear-gradient(#071f42e8,#071f42e8),url('../images/profile-open-hands.webp')}

/* Split-portrait hero: supplied photo is cropped into two independent portraits. */
.heroSplit{display:grid;grid-template-columns:minmax(250px,1fr) minmax(470px,1.25fr) minmax(250px,1fr);align-items:stretch;background:linear-gradient(180deg,#fff,#f6f3ec)}
.heroSplit .heroPerson{position:relative;min-width:0;overflow:hidden;z-index:1}
.heroSplit .heroPerson img{object-fit:cover;height:100%;width:100%}
.heroSplit .heroPersonLeft img{object-position:18% center}
.heroSplit .heroPersonRight img{object-position:82% center}
.heroSplit .heroPersonLeft:after,.heroSplit .heroPersonRight:after{content:"";position:absolute;inset:0;pointer-events:none}
.heroSplit .heroPersonLeft:after{background:linear-gradient(90deg,transparent 55%,#f9f7f1 100%)}
.heroSplit .heroPersonRight:after{background:linear-gradient(270deg,transparent 55%,#f9f7f1 100%)}
.heroSplit .heroCopy{width:auto;padding:76px 20px 62px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}
.heroSplit .heroLead{font-size:14px}

@media(max-width:800px){
  .heroSplit{display:grid;grid-template-columns:34% 32% 34%;min-height:650px;align-items:start;background:linear-gradient(180deg,#fff 0 44%,#f6f3ec 64%)}
  .heroSplit .heroPerson{position:relative;inset:auto;height:355px;margin-top:165px}
  .heroSplit .heroPersonLeft img{object-position:22% center}
  .heroSplit .heroPersonRight img{object-position:78% center}
  .heroSplit .heroPersonLeft:after{background:linear-gradient(90deg,transparent 60%,#f8f6f1 100%)}
  .heroSplit .heroPersonRight:after{background:linear-gradient(270deg,transparent 60%,#f8f6f1 100%)}
  .heroSplit .heroCopy{grid-column:1/-1;grid-row:1;z-index:3;padding:28px 12px 0;height:auto}
  .heroSplit .eyebrow{font-size:10px}
  .heroSplit h1{font-size:36px;line-height:1.28;text-shadow:0 2px 12px #fff}
  .heroSplit .heroSub{margin-top:4px}
  .heroSplit .heroActions{top:535px}
}

@media(max-width:430px){
  .heroSplit{grid-template-columns:36% 28% 36%}
  .heroSplit .heroPerson{height:340px;margin-top:175px}
  .heroSplit h1{font-size:33px}
  .heroSplit .heroActions{top:530px}
}
.heroSplit .heroPersonLeft img,.heroSplit .heroPersonRight img{object-position:center center}

/* Keep both portraits crisp; the former white fades made the faces look hazy. */
.heroSplit .heroPersonLeft:after,.heroSplit .heroPersonRight:after{background:none}
.heroSplit .heroPersonLeft img{filter:brightness(.95) contrast(1.07) saturate(1.03)}
.heroSplit .heroPersonRight img{filter:brightness(.90) contrast(1.12) saturate(1.04)}
.heroSplit .heroCopy{background:linear-gradient(180deg,#fff 0%,#f8f5ee 100%);box-shadow:0 0 22px #c7bda62e;z-index:2}

@media(max-width:800px){
  .heroSplit .heroCopy{background:linear-gradient(180deg,#fff 0%,#fff 78%,#fff0 100%);box-shadow:none}
}

/* Keep the split hero in a predictable reading order on narrow screens. */
.heroSplit .heroPersonLeft img{object-position:66% center}
.heroSplit .heroPersonRight img{object-position:28% center}

@media(max-width:800px){
  .heroSplit{
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto 360px;
    column-gap:12px;
    min-height:0;
    background:linear-gradient(180deg,#fff 0 58%,#f6f3ec 100%);
  }
  .heroSplit .heroCopy{
    grid-column:1/-1;
    grid-row:1;
    padding:34px 18px 28px;
  }
  .heroSplit .heroPerson{
    grid-row:2;
    height:360px;
    margin-top:0;
  }
  .heroSplit .heroPersonLeft{grid-column:1}
  .heroSplit .heroPersonRight{grid-column:2}
  .heroSplit .heroPersonLeft img{object-position:78% center}
  .heroSplit .heroPersonRight img{object-position:16% center}
  .heroSplit .heroActions{
    position:static;
    width:100%;
    margin-top:22px;
    gap:10px;
  }
}

@media(max-width:430px){
  .heroSplit{grid-template-rows:auto 320px}
  .heroSplit .heroPerson{height:320px;margin-top:0}
  .heroSplit .heroCopy{padding:30px 16px 24px}
  .heroSplit .heroActions{flex-direction:column}
  .heroSplit .heroActions .button{width:100%}
}
