/* PeopleSkills shared visual system — light, approachable, readable. */
:root{--navy:#0b2540;--deep:#133e5a;--ink:#172c3c;--muted:#556c7a;--teal:#078a9b;--teal2:#16acb9;--sky:#edf8fa;--pale:#edf8fa;--paper:#fff;--bg:#f5f9fb;--cream:#f5f9fb;--line:#dce7ed;--shadow:0 12px 42px rgba(13,46,66,.075)}
html{scroll-padding-top:90px}body{background:#fff;color:var(--ink)}
a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #078a9b;outline-offset:5px}
.unified-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.98);border-bottom:1px solid var(--line)}
.ps-nav{max-width:1180px;margin:auto;min-height:78px;padding:12px 24px;display:flex;align-items:center;gap:24px}
.unified-header .brand,.ps-footer .brand{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;text-decoration:none;font-family:Georgia,'Times New Roman',serif;font-size:25px;font-weight:700;letter-spacing:-.045em;color:#102f3d}
.ps-wordmark{color:#102f3d!important}.ps-wordmark .amp{color:#087f83!important}.brand .brand-mark{width:33px;height:36px;flex:none;margin:0}.ps-links{margin-left:auto;display:flex;gap:20px}.ps-links a{font-size:12px;font-weight:700;white-space:nowrap;text-decoration:none;color:var(--ink)}
.ps-contact,.ps-primary{display:inline-flex;align-items:center;justify-content:center;padding:13px 22px;border-radius:999px;background:#078494;color:white;text-decoration:none;font-size:13px;font-weight:800;line-height:1.6}.ps-contact{white-space:nowrap}
.ps-menu-button{display:none}.unified-header .mobile-menu{display:none}.unified-header .mobile-menu.is-open{display:grid;background:white;padding:12px 24px 24px;gap:15px}.unified-header .mobile-menu a{color:var(--ink);text-decoration:none;font-size:14px;font-weight:700}
.hero,.hero.individual-hero,.hero.org-hero,.intro-hero{background:linear-gradient(120deg,#f0f9fb 0%,#fff 72%);color:var(--ink)}
.hero::before,.hero::after,.hero-kicker::before{content:none!important}
.hero h1,.hero.individual-hero h1,.hero.org-hero h1,.intro-hero h1,.hero h1 .small{color:var(--navy)}
.hero h1 .em,.hero h1 em,.hero h1 .org-hero-em,.intro-title-sub{color:var(--teal)}
.hero .hero-kicker,.hero .eyebrow,.intro-hero .eyebrow{color:var(--teal)}
.hero .hero-intro,.hero .org-hero-lead,.hero .lead,.hero .hero-desc,.intro-hero .intro-lead{color:#3f596b}
.hero .hero-value{color:#435d6d;border-color:var(--teal)}.hero .hero-value strong,.hero .hero-value b{color:var(--navy)}
.hero .hero-foot,.intro-hero .intro-privacy,.intro-hero .intro-meta{color:var(--muted)}
.hero .btn.light,.hero.individual-hero .btn.light,.hero.org-hero .btn.light{color:var(--navy);background:#fff;border:1px solid #c8dce4}
.btn,.btn.primary,.btn.light,.ps-primary{border-radius:999px}.btn.primary{background:linear-gradient(110deg,#087e90,#0a94a0);color:white;border-color:transparent;box-shadow:0 6px 20px #0b647818}
.section.bg,.section.cream,.chapter.alt{background:#f5f9fb}
.problem-card,.case-card,.diagnosis-card,.org-case,.model-card,.practice-card,.individual-case,.intro-side,.org-hero-visual,.panel{border-color:var(--line);border-radius:20px;box-shadow:var(--shadow)}
.individual-visual{background:#edf8fa;border:1px solid var(--line);border-radius:28px;color:var(--navy);height:auto;min-height:330px;padding:40px}
.individual-visual:after{content:none}.individual-visual .individual-visual-title{color:var(--navy)}.individual-visual p{color:#435d6d}.individual-visual-label,.individual-visual-foot{color:var(--teal)}
.ps-portrait{margin:0;max-width:400px;justify-self:center;width:100%;text-align:center}.ps-portrait img{display:block;width:100%;height:440px;object-fit:cover;object-position:center 30%;border-radius:210px 210px 24px 24px}.ps-portrait figcaption{margin:17px 0 0;color:var(--muted);font-size:12px}.ps-portrait figcaption strong{color:var(--navy);font-size:17px;display:block;margin:3px 0}
.ps-consult{padding:64px 24px;background:#edf8fa;color:var(--ink)}.ps-consult-inner{max-width:1000px;margin:auto}.ps-consult h2{font-size:clamp(24px,3vw,34px);line-height:1.6;color:var(--navy);margin:0 0 16px}.ps-consult p{font-size:15px;line-height:1.95;color:#435d6d}.ps-consult-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:26px 0}.ps-consult-grid article{background:white;border:1px solid var(--line);border-radius:18px;padding:24px}.ps-consult-grid b{color:var(--teal);font-size:12px}.ps-consult-grid h3{font-size:18px;margin:10px 0}.ps-consult-grid p{font-size:14px;margin:0}.ps-consult-actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px}.ps-consult-actions>a:not(.ps-primary){color:#076d7e;font-size:14px}.ps-consult .ps-note{font-size:12px}
.ps-footer{background:#f5f9fb;border-top:1px solid var(--line);padding:42px 24px 85px;color:var(--muted)}.ps-footer-inner{max-width:1132px;margin:auto}.ps-footer p{font-size:13px}.ps-footer nav{display:flex;flex-wrap:wrap;gap:16px;margin:24px 0}.ps-footer nav a{font-size:12px;color:var(--muted)}.ps-footer small{font-size:11px}
@media(min-width:1000px){.hero-grid{gap:60px;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr)}}
@media(max-width:1050px){.ps-links{display:none}.ps-contact{margin-left:auto}.ps-menu-button{display:block;border:1px solid var(--line);border-radius:8px;background:white;padding:9px 10px;font-size:12px;color:var(--navy)}}
@media(max-width:640px){.ps-nav{min-height:67px;padding:12px 16px;gap:12px}.unified-header .brand,.ps-footer .brand{font-size:21px;gap:6px}.brand .brand-mark{width:26px;height:29px}.ps-contact{display:none}.ps-menu-button{margin-left:auto;font-size:11px;padding:8px}.ps-consult{padding:44px 20px}.ps-consult-grid{grid-template-columns:1fr;gap:12px}.ps-consult-grid article{padding:20px}.ps-consult-actions{align-items:stretch;flex-direction:column;gap:16px}.ps-portrait{max-width:285px}.ps-portrait img{height:330px}.individual-visual{padding:30px;min-height:260px}.hero h1,.intro-hero h1{overflow-wrap:normal;word-break:normal}.ps-footer nav{gap:14px 20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* One shared theme, loaded last on every page. */
body{font-family:'DM Sans','Noto Sans JP','Hiragino Kaku Gothic ProN',Meiryo,sans-serif;font-size:16px;line-height:1.85;color:var(--ink);-webkit-font-smoothing:antialiased}
.wrap,.container{width:min(1140px,calc(100% - 48px));margin-inline:auto}
h1,h2,h3,.title{color:var(--navy);word-break:normal;overflow-wrap:normal;line-break:strict}
.section{padding-block:88px}.section.pale{background:var(--pale)}.section.cream{background:var(--bg)}
.eyebrow{font-size:11px;letter-spacing:.13em;font-weight:800;color:var(--teal)}
.hero,.subhero{background:linear-gradient(120deg,#f0f9fb 0%,#fff 72%)}
.hero h1{line-height:1.5!important;letter-spacing:-.055em!important}.hero h1 em{color:var(--teal)}
.hero-photo{border-radius:24px;box-shadow:var(--shadow);aspect-ratio:4/4.8;object-fit:cover;object-position:69% center}
.photo-caption{background:transparent;color:var(--muted);padding:18px 10px 0;text-align:center;line-height:1.8}.photo-caption strong{color:var(--navy);font-size:20px}
.site-head{background:rgba(255,255,255,.98);border-bottom:1px solid var(--line);z-index:100}.site-head .nav{min-height:78px;gap:20px}.site-head .brand{display:inline-flex;align-items:center;gap:8px;font:700 25px/1.2 Georgia,'Times New Roman',serif!important;letter-spacing:-.045em!important;text-decoration:none;white-space:nowrap;color:#102f3d}.site-head .brand .brand-mark{width:29px;height:32px;flex:none}.site-head .brand .ps-wordmark{color:#102f3d!important}.site-head .brand .amp{color:#087f83!important}.site-head .navlinks{gap:20px}.site-head .navlinks a{font-size:12px;font-weight:700}.site-head .navlinks .navcta{border-radius:999px;background:#078494;color:#fff;padding:13px 19px;line-height:1.6}
.btn,.button,.header-link,.line-cta,.ps-primary,.ps-contact,.reserve-free-link{border-radius:999px!important;font-size:14px;font-weight:800;line-height:1.6}
.btn,.btn.primary,.button,.btn.btn-main{background:linear-gradient(110deg,#087e90,#0a94a0);color:white;border:1px solid transparent;box-shadow:0 6px 20px #0b647818}
.btn.secondary,.btn.light,.line-cta{background:white;color:var(--navy);border:1px solid #c8dce4;box-shadow:none}
.contact-panel{background:#edf8fa;color:var(--ink)}.contact-panel h2{color:var(--navy)}.contact-panel p,.contact-panel .section-intro{color:#435d6d}.contact-panel .eyebrow{color:var(--teal)}.contact-panel .btn{background:linear-gradient(110deg,#087e90,#0a94a0);border-color:transparent;color:#fff}.contact-panel .btn.secondary{background:white;border-color:#c8dce4;color:var(--navy)}.contact-panel .steps li{border-color:#c8dce4;color:var(--ink)}.contact-panel .steps span{color:var(--teal)}
.case-proof,.example,.route{border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);background:#fff}.case-proof{background:#f5f9fb}.example{padding:32px}.stat-row{border-color:var(--line)}.stat-row strong{color:var(--teal)}
.personal-entry{background:#f5f9fb}.partner-list li,.service-row,.services,.faq details,.flow-list li{border-color:var(--line)}
.approach-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:56px}.approach-grid>*,.case-layout>*,.partner-block>*,.contact-grid>*,.route-grid>*,.service-row>*{min-width:0}
#approach h2{font-size:clamp(27px,2.45vw,34px);line-height:1.65;letter-spacing:-.045em}.ps-heading-line{display:block}
.ps-founder{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:64px;align-items:start;max-width:1000px}.ps-founder-portrait{margin:0}.ps-founder-portrait img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:center 25%;border-radius:180px 180px 24px 24px}.ps-founder-text{min-width:0}.ps-founder-text h2{font-size:34px;line-height:1.5;margin:0 0 9px}.ps-founder-text p{font-size:15px;line-height:1.95}.ps-founder-text .ps-founder-role{margin:0 0 24px;color:var(--muted);font-size:14px}.ps-founder-text p+p{margin-top:18px}
.ps-shared-footer{background:#f5f9fb;border-top:1px solid var(--line);padding:42px 0 85px;color:var(--muted)}.ps-shared-footer .brand{display:inline-flex;align-items:center;gap:8px;font:700 25px/1.2 Georgia,'Times New Roman',serif!important;letter-spacing:-.045em!important;white-space:nowrap;text-decoration:none;color:#102f3d}.ps-shared-footer .brand-mark{width:29px;height:32px;flex:none}.ps-shared-footer .amp{color:#087f83}.ps-shared-footer p{font-size:13px}.ps-shared-footer nav{display:flex;gap:16px;flex-wrap:wrap;margin:24px 0}.ps-shared-footer nav a{font-size:12px;color:var(--muted)}.ps-shared-footer small{font-size:11px}.ps-shared-footer .footer-grid{display:block}
.free-consult-label{display:inline-block;margin-top:16px;padding:6px 14px;background:white;border:1px solid #c8dce4;border-radius:999px;color:#087e90!important;font-size:12px!important;font-weight:700}
@media(min-width:1001px){.site-head .navlinks{display:flex!important}.site-head .mobile-nav{display:none!important}}
@media(max-width:1000px){.site-head .nav{min-height:68px;gap:8px}.site-head .brand{font-size:22px!important}.site-head .brand .brand-mark{width:24px;height:26px}.site-head .navlinks{display:none!important}.site-head .mobile-nav{display:block!important}.site-head .mobile-nav summary{border-radius:8px;color:var(--navy);background:#fff}.site-head .mobile-nav nav{border-color:var(--line);background:white}.site-head .mobile-nav a{font-size:14px}.site-head .mobile-nav .navcta{color:#078494}.approach-grid{gap:32px}#approach h2{font-size:29px}}
@media(max-width:760px){.wrap,.container{width:calc(100% - 40px)}.section{padding-block:56px}.approach-grid{grid-template-columns:1fr;gap:28px}.hero-photo{aspect-ratio:1.35;object-position:69% 38%}.photo-caption{padding-top:14px}.hero h1{font-size:clamp(28px,7.7vw,41px)!important}.ps-founder{grid-template-columns:1fr;gap:26px}.ps-founder-portrait{width:min(250px,80%);margin-inline:auto}.ps-founder-text h2{font-size:29px}.ps-heading-line{display:inline}.ps-heading-line:after{content:' '}.example{padding:24px}#approach h2{font-size:clamp(25px,6.5vw,30px);max-width:100%}.ps-shared-footer .brand{font-size:22px!important}.route{padding:24px}.section.pale,.section.cream{overflow:visible}}
@media(max-width:360px){.site-head .brand{font-size:19px!important;gap:5px}.site-head .brand .brand-mark{width:21px;height:24px}.site-head .mobile-nav summary{font-size:11px;padding:7px 8px}.stat-row span{font-size:13px}.stat-row strong{font-size:24px}}

@media(min-width:761px){.hero h1,.intro-hero h1,.story-hero h1{font-size:clamp(34px,4vw,50px)!important}.subhero h1{font-size:clamp(34px,4vw,46px)}.section h2.title{font-size:clamp(27px,3.1vw,40px)}}.wrap{padding-inline:0}.panel,.problem-card,.model-panel{min-width:0;max-width:100%}.sym-grid,.list-panel{min-width:0}@media(max-width:780px){.sym-grid,.list-panel{grid-template-columns:minmax(0,1fr)}.sym-grid>*,.list-panel>*{min-width:0;max-width:100%}}
.story-card:first-child h3,.about-card h3,.profile-panel h3,.profile-panel .name,.reserve h2{color:#fff}

/* Keep the heading legible against the dark individual-support panel. */
.individual-value .value-layout h2,
.individual-value .value-layout h2 > span:first-child {
  color: #fff;
}
.individual-value .value-layout h2 .ps-value-highlight,
.individual-value .value-layout h2 .ps-value-highlight span {
  color: #e4c18b;
}

@media (max-width: 760px) {
  .subhero h1.ps-mobile-phrases,
  .route h2.ps-contact-method {
    font-size: clamp(22px, 6.5vw, 32px);
    line-height: 1.65;
  }
  .ps-mobile-phrases > span,
  .ps-value-highlight > span {
    display: inline-block;
    white-space: nowrap;
  }
  .individual-value .value-layout h2 .ps-value-highlight {
    display: block;
    white-space: normal;
  }
  .individual-value::after {
    content: none;
  }
  .ps-contact-method > span {
    display: block;
  }
}

.ps-policy-links { display: flex; flex-wrap: wrap; gap: 8px 18px; }
