
.subpage-header{position:fixed;background:rgba(255,255,255,.97);color:var(--ink);box-shadow:0 1px 20px rgba(10,36,48,.08)}
.subpage-header .brand-mark{border-color:var(--teal);color:var(--teal)}
.global-nav a[aria-current="page"]{color:var(--teal)}
.global-nav a[aria-current="page"]:after{right:0!important;background:var(--teal)!important}
.page-hero{height:650px;min-height:560px;position:relative;display:flex;align-items:center;overflow:hidden;background:#07273b;color:#fff;padding-top:76px}
.page-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.93;transform:scale(1.015)}
.page-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,20,35,.94) 0%,rgba(4,38,52,.78) 47%,rgba(8,74,78,.2) 100%),linear-gradient(0deg,rgba(3,20,31,.45),transparent 55%)}
.page-hero-content{position:relative;z-index:2;max-width:850px}
.page-hero h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:600;font-size:clamp(48px,6vw,78px);line-height:1.35;letter-spacing:.05em;margin:0 0 22px}
.page-hero-content>p:last-child{max-width:710px;font-size:17px;letter-spacing:.035em;color:rgba(255,255,255,.82);margin:0}
.page-hero .eyebrow{color:#b9efed}
.hero-year{position:absolute;right:6vw;bottom:45px;z-index:2;color:rgba(255,255,255,.5);text-align:right}
.hero-year strong{display:block;font:italic 68px/1 Georgia,serif;color:rgba(255,255,255,.72)}
.hero-year span{font-size:10px;letter-spacing:.2em}
.page-local-nav{position:sticky;top:76px;z-index:20;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}
.page-local-nav .wrap{display:flex;justify-content:center;gap:42px;overflow-x:auto;scrollbar-width:none}
.page-local-nav .wrap::-webkit-scrollbar{display:none}
.page-local-nav a{padding:18px 4px 15px;font-size:13px;font-weight:700;white-space:nowrap;border-bottom:3px solid transparent}
.page-local-nav a:hover{color:var(--teal);border-color:var(--teal)}

.philosophy-section{background:#fff}
.philosophy-lead{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px;align-items:start}
.philosophy-statement{position:sticky;top:170px}
.philosophy-statement h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(37px,4.5vw,60px);line-height:1.5;font-weight:600;letter-spacing:.04em;margin:0 0 25px}
.philosophy-statement .motto{display:inline-flex;align-items:center;gap:14px;color:var(--teal);font-size:14px;font-weight:700;letter-spacing:.06em}
.philosophy-statement .motto:before{content:"";width:52px;height:1px;background:var(--teal)}
.philosophy-copy{font-size:17px;color:#40545f}
.philosophy-copy p{margin:0 0 23px}
.philosophy-copy .lead{font-size:21px;line-height:1.9;color:var(--ink);font-family:"Yu Mincho","Hiragino Mincho ProN",serif}

.approach-section{background:var(--paper)}
.approach-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.approach-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:35px 28px 30px;min-height:350px;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:.3s}
.approach-card:before{content:"";position:absolute;right:-55px;top:-55px;width:140px;height:140px;border-radius:50%;background:var(--aqua)}
.approach-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:transparent}
.approach-number{font:italic 28px Georgia,serif;color:#8aa0a7;position:relative}
.approach-icon{width:68px;height:68px;margin:38px 0 22px;border:1px solid #b9d7d8;border-radius:50%;display:grid;place-items:center;color:var(--teal);font-size:24px;position:relative}
.approach-card h3{font-size:21px;margin:0 0 13px}
.approach-card p{font-size:14px;color:var(--muted);margin:0}
.approach-en{margin-top:auto;padding-top:24px;font-size:10px;letter-spacing:.16em;color:var(--teal);font-weight:700}

.story-section{background:#fff}
.story-intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;margin-bottom:72px;align-items:end}
.story-intro>p{color:var(--muted);margin:0}
.story-list{position:relative;max-width:1060px;margin:0 auto}
.story-list:before{content:"";position:absolute;left:50%;top:20px;bottom:20px;width:1px;background:var(--line)}
.story-item{display:grid;grid-template-columns:1fr 80px 1fr;align-items:center;margin-bottom:35px}
.story-item:last-child{margin-bottom:0}
.story-marker{grid-column:2;justify-self:center;width:46px;height:46px;border-radius:50%;background:#fff;border:1px solid #aacdce;display:grid;place-items:center;color:var(--teal);font:italic 16px Georgia,serif;z-index:1}
.story-card{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:32px 34px}
.story-card h3{font-size:22px;margin:0 0 10px}
.story-card p{color:var(--muted);font-size:14px;margin:0}
.story-card .story-tag{display:block;color:var(--teal);font-size:10px;font-weight:700;letter-spacing:.16em;margin-bottom:10px}
.story-item:nth-child(odd) .story-card{grid-column:1;grid-row:1;text-align:right}
.story-item:nth-child(even) .story-card{grid-column:3;grid-row:1}
.story-item:nth-child(odd) .story-marker,.story-item:nth-child(even) .story-marker{grid-row:1}

.learning-section{background:linear-gradient(125deg,#092b3d,#0d6170 68%,#158180);color:#fff}
.learning-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;align-items:start}
.learning-copy{position:sticky;top:170px}
.learning-copy .section-title{color:#fff}
.learning-copy>p:last-child{color:rgba(255,255,255,.72);margin-top:24px}
.learning-cycle{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.18)}
.learning-step{background:rgba(5,43,57,.68);padding:32px;min-height:205px;display:flex;flex-direction:column}
.learning-step span{font:italic 30px Georgia,serif;color:#8fe1db}
.learning-step h3{font-size:20px;margin:auto 0 7px}
.learning-step p{font-size:13px;color:rgba(255,255,255,.68);margin:0}
.learning-note{grid-column:1/-1;background:rgba(255,255,255,.08);padding:25px 30px;font-size:14px;color:rgba(255,255,255,.8)}

.values-section{background:#fff}
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.value-card{border-top:3px solid var(--teal);background:var(--paper);padding:32px 30px;border-radius:0 0 20px 20px}
.value-card h3{font-size:20px;margin:0 0 10px}
.value-card p{font-size:14px;color:var(--muted);margin:0}
.value-card small{display:block;margin-bottom:17px;color:var(--teal);font-weight:700;letter-spacing:.15em}

.society-section{background:var(--paper)}
.society-card{display:grid;grid-template-columns:1.1fr .9fr;border-radius:30px;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.society-copy{padding:65px 70px}
.society-copy h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(34px,4vw,52px);line-height:1.45;margin:0 0 22px}
.society-copy>p{color:var(--muted);margin-bottom:28px}
.society-links{display:flex;flex-wrap:wrap;gap:12px}
.society-links .button{background:var(--deep);color:#fff}
.society-links .button-secondary{background:transparent;color:var(--deep);border:1px solid var(--line)}
.society-visual{background:linear-gradient(145deg,#0b3e54,#0b7d7e);color:#fff;padding:55px 48px;display:flex;align-items:center}
.society-flow{list-style:none;padding:0;margin:0;width:100%}
.society-flow li{display:grid;grid-template-columns:45px 1fr;gap:15px;align-items:center;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.2)}
.society-flow li:last-child{border-bottom:0}
.society-flow span{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.5);display:grid;place-items:center;font:italic 14px Georgia,serif;color:#b8efeb}
.society-flow strong{font-size:15px}
.society-flow small{display:block;color:rgba(255,255,255,.55);font-size:10px;letter-spacing:.12em;text-transform:uppercase}

.about-cta{background:#071c2c;color:#fff;padding:92px 0}
.about-cta-inner{display:grid;grid-template-columns:1fr auto;gap:70px;align-items:center}
.about-cta h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(34px,4vw,52px);line-height:1.45;margin:0 0 17px}
.about-cta p:not(.section-kicker){color:rgba(255,255,255,.68);margin:0}
.about-cta-buttons{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.site-footer{margin-top:0}

@media(max-width:1050px){
  .approach-grid{grid-template-columns:repeat(2,1fr)}
  .philosophy-lead,.story-intro,.learning-layout{gap:55px}
  .society-card{grid-template-columns:1fr}
  .society-visual{padding:40px 55px}
}
@media(max-width:820px){
  .philosophy-lead,.story-intro,.learning-layout{grid-template-columns:1fr}
  .philosophy-statement,.learning-copy{position:static}
  .story-list:before{left:22px}
  .story-item{grid-template-columns:45px 1fr;gap:18px;margin-bottom:22px}
  .story-marker,.story-item:nth-child(odd) .story-marker,.story-item:nth-child(even) .story-marker{grid-column:1;grid-row:1;justify-self:start}
  .story-card,.story-item:nth-child(odd) .story-card,.story-item:nth-child(even) .story-card{grid-column:2;grid-row:1;text-align:left}
  .values-grid{grid-template-columns:1fr}
  .about-cta-inner{grid-template-columns:1fr}
  .about-cta-buttons{justify-content:flex-start}
  .hero-year{display:none}
}
@media(max-width:720px){
  .page-hero{height:570px;min-height:520px;padding-top:68px}
  .page-hero h1{font-size:clamp(40px,12vw,56px)}
  .page-hero-content>p:last-child{font-size:15px}
  .page-local-nav{top:68px}
  .page-local-nav .wrap{justify-content:flex-start;gap:26px}
  .page-local-nav a{padding:15px 2px 12px;font-size:12px}
  .philosophy-lead{gap:38px}
  .philosophy-copy{font-size:15px}
  .philosophy-copy .lead{font-size:18px}
  .approach-grid{grid-template-columns:1fr}
  .approach-card{min-height:auto;padding:29px 25px}
  .approach-icon{margin:27px 0 18px}
  .story-intro{margin-bottom:45px}
  .story-card{padding:25px 23px}
  .story-card h3{font-size:19px}
  .learning-cycle{grid-template-columns:1fr}
  .learning-step{min-height:160px;padding:27px}
  .learning-note{grid-column:auto}
  .society-copy{padding:42px 26px}
  .society-visual{padding:35px 27px}
  .about-cta{padding:72px 0}
  .about-cta-buttons{flex-direction:column;align-items:stretch}
  .about-cta-buttons .button{width:100%}
}
