@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+JP:wght@400;500;700&family=Noto+Serif+JP:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');

:root {
  font-family: "DM Sans", "Noto Sans JP", sans-serif;
  color: #f5f1e7;
  background: #071510;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  --ink: #071510;
  --paper: #f5f1e7;
  --muted-paper: #e0e4da;
  --orange: #6f9276;
  --deep-green: #0b2419;
  --green: #286044;
  --line: rgba(225, 232, 219, 0.32);
  --ease-out: cubic-bezier(0.23, 1, 0.32, 1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: #050b08; }
body { margin: 0; min-width: 320px; background: var(--ink); }
button, a { color: inherit; font: inherit; }
button { border: 0; background: none; padding: 0; }
a { text-decoration: none; }
button:focus-visible, a:focus-visible { outline: 2px solid var(--orange); outline-offset: 5px; }

.ounce-site { position: relative; overflow: clip; background: var(--ink); }
.ounce-site::before { content: ""; pointer-events: none; position: fixed; inset: 0; z-index: 10; opacity: .042; mix-blend-mode: screen; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.72'/%3E%3C/svg%3E"); }

.site-header { align-items: center; display: flex; justify-content: space-between; left: 0; padding: 25px 4.8vw; position: fixed; right: 0; top: 0; transition: background .3s var(--ease-out), padding .3s var(--ease-out), color .3s var(--ease-out); z-index: 20; }
.site-header.is-scrolled { background: rgba(16, 16, 15, .84); backdrop-filter: blur(16px); padding-bottom: 18px; padding-top: 18px; }
.wordmark { font: 500 25px/.85 "Noto Serif JP", serif; letter-spacing: -.1em; }
.header-nav, .header-link, .intro-micro, .eyebrow, .chapter-label, .chapter-button span, .person-section-meta, .person-basics span, .story-link, .closing-topline, .back-top, .drawer-topline, .answer-label, .drawer-end { font: 500 10px/1.2 "Space Grotesk", "Noto Sans JP", sans-serif; letter-spacing: .14em; }
.header-nav { display: flex; gap: 2.4vw; margin-left: auto; margin-right: 5vw; }
.header-nav a { color: var(--muted-paper); transition: color .2s ease; }
.header-nav a:hover { color: var(--orange); }
.header-center span { color: #7e7971; }
.header-link { align-items: center; display: flex; gap: 9px; transition: color .2s ease; }
.header-link:hover { color: var(--orange); }

.intro { background: var(--deep-green); display: flex; flex-direction: column; min-height: 100svh; overflow: hidden; padding: 17vh 4.8vw 6vh; position: relative; }
.intro-image { background: var(--deep-green); inset: 0; opacity: 1; position: absolute; }
.intro-overlay { background: radial-gradient(circle at 76% 30%, rgba(45,82,59,.14), transparent 32%), linear-gradient(135deg, #06150d 0%, #0b2419 64%, #07150e 100%); inset: 0; position: absolute; }
.intro::after { border: 1px solid rgba(225,232,219,.3); border-radius: 50%; content: ""; height: 62vw; max-height: 850px; max-width: 850px; position: absolute; right: -14vw; top: -18vw; width: 62vw; }
.intro-micro { color: var(--muted-paper); position: relative; z-index: 1; }
.intro-title-wrap { display: flex; flex: 1; flex-direction: column; justify-content: center; min-height: 0; position: relative; z-index: 1; }
.intro-kicker { color: var(--muted-paper); font: 500 10px/1.2 "Space Grotesk", sans-serif; letter-spacing: .18em; margin: 0 0 3vh; }
.intro-title { display: flex; flex-direction: column; font: 500 clamp(112px, 17vw, 272px)/.88 "Noto Serif JP", serif; letter-spacing: -.12em; margin: 0 0 2.5vh -.055em; text-shadow: 0 2px 26px rgba(0,0,0,.22); }
.reference-title { color: var(--paper); }
.intro-tagline { color: var(--paper); font-family: "Noto Serif JP", serif; font-size: clamp(28px, 3.7vw, 58px); font-weight: 500; letter-spacing: -.07em; line-height: 1.55; margin: 2vh 0 0 7vw; max-width: 680px; }
.intro-title span:first-child { margin-left: -.055em; }
.outline-text { color: transparent; margin-left: 17.5vw; -webkit-text-stroke: 1px rgba(244,240,232,.62); }
.intro-bottom { align-items: end; display: flex; justify-content: space-between; position: relative; z-index: 1; }
.intro-copy { color: var(--muted-paper); font-family: "Noto Serif JP", serif; font-size: clamp(13px, 1.18vw, 17px); letter-spacing: .06em; line-height: 1.95; margin: 0; }
.scroll-cue { align-items: center; color: var(--orange); display: flex; gap: 16px; font: 500 10px "Space Grotesk"; letter-spacing: .16em; }
.scroll-cue svg { animation: floatDown 1.7s infinite var(--ease-out); }
.intro-index { bottom: 7vh; color: #d1d9cd; font: 500 10px "Space Grotesk"; letter-spacing: .16em; position: absolute; right: 2.5vw; }
@keyframes floatDown { 0%, 100% { transform: translateY(-3px); } 50% { transform: translateY(3px); } }

.manifesto { background: var(--paper); color: var(--ink); min-height: 77svh; padding: 15vh 9.6vw 10vh; position: relative; }
.manifesto::before { background: var(--orange); content: ""; height: 9px; left: 9.6vw; position: absolute; top: 0; width: 84px; }
.eyebrow { color: #4d735c; display: block; }
.manifesto-copy { display: grid; grid-template-columns: .8fr 1.7fr; margin-top: 15vh; }
.manifesto-jp { font-family: "Noto Serif JP", serif; font-size: clamp(14px, 1.25vw, 19px); line-height: 2.2; margin: 0; }
.manifesto-large { font: 500 clamp(30px, 5vw, 76px)/1.22 "Noto Serif JP", serif; letter-spacing: -.08em; margin: -1.2vw 0 0; }
.manifesto-large em { color: #6f9276; font-style: normal; }
.manifesto-rule { align-items: center; color: #8f887c; display: flex; font: 500 10px "Space Grotesk"; gap: 18px; letter-spacing: .18em; margin-top: 16vh; }
.manifesto-rule span { background: #b9b0a2; display: block; height: 1px; width: 32px; }


.opening-team-photo { background: #071510; padding: 7vh 4.8vw 10vh; }
.opening-team-photo-inner { margin: 0 auto; max-width: 1440px; width: 100%; }
.opening-team-photo-frame { overflow: hidden; position: relative; }
.opening-team-photo-frame::after { background: linear-gradient(180deg, transparent 65%, rgba(7,21,16,.28)); content: ""; inset: 0; pointer-events: none; position: absolute; }
.opening-team-photo img { display: block; filter: saturate(.82) contrast(1.04); height: min(48vw, 650px); object-fit: cover; object-position: center 44%; width: 100%; }
.opening-team-caption { align-items: baseline; border-bottom: 1px solid rgba(225,232,219,.22); display: flex; justify-content: space-between; gap: 24px; padding: 18px 2px 16px; }
.opening-team-caption span { color: #a9bea9; font: 500 10px/1.2 "Space Grotesk", sans-serif; letter-spacing: .16em; white-space: nowrap; }
.opening-team-caption p { color: #e4e9df; font: 500 clamp(14px, 1.25vw, 18px)/1.8 "Noto Serif JP", serif; letter-spacing: .02em; margin: 0; text-align: right; }

.brand-section { background: var(--paper); color: var(--ink); min-height: 82svh; padding: 11vh 9.6vw 8vh; position: relative; }
.brand-section:nth-of-type(even) { background: #eae5db; }
.section-heading { align-items: center; border-bottom: 1px solid rgba(16,16,15,.25); display: flex; gap: 18px; padding-bottom: 16px; }
.section-number { color: #3f7254; font: 500 10px "Space Grotesk"; letter-spacing: .15em; }
.brand-section .eyebrow { color: #3b6d50; }
.about-grid, .business-head, .growth-grid, .founder-grid { display: grid; gap: 8vw; grid-template-columns: 1.1fr 1fr; margin-top: 13vh; }
.about-grid h2, .business-head h2, .growth-grid h2, .founder-grid h2 { font: 500 clamp(39px, 5.4vw, 82px)/1.06 "Noto Serif JP", serif; letter-spacing: -.1em; margin: 0; }
.about-grid h2 em, .business-head h2 em, .growth-grid h2 em { color: #6f9276; font-style: normal; }
.section-copy { max-width: 500px; }
.section-copy p, .business-head > p, .growth-grid > p { font-family: "Noto Serif JP", serif; font-size: 15px; line-height: 2.15; margin: 0 0 26px; }
.section-copy strong { display: block; font: 500 20px/1.6 "Noto Serif JP", serif; margin-top: 50px; }
.business-section { background: #0b2419 !important; color: var(--paper); }
.business-section .brand-section .eyebrow, .business-section .eyebrow { color: #a59d90; }
.business-head { align-items: end; }
.business-head > p, .growth-grid > p { color: var(--muted-paper); }
.business-list { border-top: 1px solid var(--line); margin-top: 11vh; }
.business-item { align-items: center; background: transparent; border: 0; border-bottom: 1px solid var(--line); color: inherit; display: grid; gap: 20px; grid-template-columns: 50px 1fr auto; padding: 22px 0; text-align: left; width: 100%; }
.business-item span { color: var(--orange); font: 500 10px "Space Grotesk"; }
.business-item strong { font: 500 clamp(19px, 2.1vw, 29px) "Noto Serif JP", serif; }
.business-item svg { color: var(--orange); transition: transform .25s var(--ease-out); }
.business-item:hover svg { transform: translate(5px, -5px); }
.business-item:focus-visible { outline: 1px solid #9fbea5; outline-offset: 5px; }
.business-overview-photo { display: block; filter: saturate(.75) contrast(1.06); height: min(38vw, 500px); margin: 10vh 0 0 auto; object-fit: cover; object-position: center; width: 72%; }
.values-section { background: #f2ede4 !important; }
.values-intro { align-items: end; display: grid; gap: 8vw; grid-template-columns: 1.1fr 1fr; margin: 11vh 0 10vh; }
.values-intro h2 { font: 500 clamp(42px, 6vw, 90px)/1.1 "Noto Serif JP", serif; letter-spacing: -.1em; margin: 0; }
.values-intro h2 em { color: #6f9276; font-style: normal; }
.values-intro p { color: #496b55; font: 15px/2.05 "Noto Serif JP", serif; margin: 0; max-width: 480px; }
.values-list { border-top: 1px solid rgba(16,16,15,.25); display: grid; grid-template-columns: repeat(3, 1fr); }
.values-list > div { border-right: 1px solid rgba(16,16,15,.25); min-height: 245px; padding: 22px 24px 22px 0; }
.values-list > div + div { padding-left: 24px; }
.values-list > div:last-child { border-right: 0; }
.values-list span, .founder-role { color: #477557; font: 500 10px "Space Grotesk"; letter-spacing: .13em; }
.values-list h3 { font: 500 clamp(20px, 2vw, 28px)/1.45 "Noto Serif JP", serif; letter-spacing: -.06em; margin: 31px 0 17px; }
.values-list p { color: #496b55; font: 14px/1.8 "Noto Serif JP", serif; margin: 0; }
.growth-section { background: #e3ddd2 !important; }
.growth-section { min-height: 0; padding-bottom: 4vh; padding-top: 6vh; }
.growth-grid { align-items: end; gap: 7vw; grid-template-columns: 1.05fr .95fr; margin-top: 5vh; }
.growth-grid h2 { max-width: 680px; }
.growth-grid > p { border-left: 1px solid rgba(16,16,15,.25); color: #173d29; font-weight: 500; margin: 0; max-width: 480px; padding-left: 28px; }
.growth-points { border-top: 1px solid rgba(16,16,15,.25); display: grid; gap: 10px; grid-template-columns: repeat(3, 1fr); margin-top: 4vh; padding-top: 16px; }
.growth-points span { line-height: 1.8; }
.growth-points span { color: #3e6e51; font: 500 16px/1.8 "Noto Serif JP", serif; letter-spacing: .02em; }
.growth-points b { color: #173d29; font: 500 13px/1.5 "Space Grotesk", "Noto Sans JP", sans-serif; letter-spacing: .08em; }
.founder-section { background: #f3eee5 !important; }
.founder-grid { align-items: start; }
.founder-grid h2 { font-size: clamp(39px, 4.8vw, 72px); margin-top: 14px; }
.founder-role { margin: 0 0 14px; font-family: "Noto Serif JP", serif; font-size: clamp(20px, 1.6vw, 26px); font-weight: 600; letter-spacing: .04em; line-height: 1.25; }
.founder-photo { aspect-ratio: 4 / 3; display: block; filter: saturate(.72) contrast(1.04); margin-top: 6vh; object-fit: cover; object-position: center 38%; width: min(100%, 470px); }
.founder-grid .section-copy > p:first-child { color: #477557; font-size: 23px; }
.founder-message { max-width: 560px; }
.founder-message p { margin-bottom: 24px; }
.founder-message .founder-quote { color: #245b3b; font-size: 1.12em; font-weight: 600; }
.founder-message .founder-emphasis { color: #245b3b; font-size: clamp(22px, 2.4vw, 32px); line-height: 1.6; margin: 48px 0 24px; }
.founder-message .founder-signature { border-top: 1px solid rgba(16,16,15,.2); color: #245b3b; margin-top: 56px; padding-top: 22px; }
.business-detail { background: #071c14; color: var(--paper); padding: 11vh 9.6vw 9vh; }
.business-detail-head { display: grid; gap: 5vw 8vw; grid-template-columns: 1.1fr .9fr; }
.business-detail-head .section-heading { grid-column: 1 / -1; }
.business-detail-head h2 { font: 500 clamp(44px, 6vw, 88px)/1.1 "Noto Serif JP", serif; letter-spacing: -.1em; margin: 6vh 0 0; }
.business-detail-head h2 em { color: #a9c6ac; font-style: normal; }
.business-detail-head > p { align-self: end; color: #dce9dc; font: 15px/2.1 "Noto Serif JP", serif; margin: 6vh 0 0; max-width: 470px; }
.business-detail-hero { display: block; filter: saturate(.8) contrast(1.08); height: min(54vw, 640px); margin: 10vh 0 12vh 13vw; object-fit: cover; object-position: center 55%; width: calc(100% - 13vw); }
.business-detail-list { border-top: 1px solid rgba(225,232,219,.28); display: grid; grid-template-columns: repeat(2, 1fr); }
.business-detail-list article { border-bottom: 1px solid rgba(225,232,219,.28); min-height: 260px; padding: 30px 5vw 34px 0; }
.business-detail-list article:nth-child(even) { border-left: 1px solid rgba(225,232,219,.28); padding-left: 5vw; padding-right: 0; }
.business-detail-list article:last-child { grid-column: 1 / -1; max-width: 50%; }
.business-detail-list span { color: #9fbea5; font: 500 10px "Space Grotesk"; letter-spacing: .12em; }
.business-detail-list h3 { color: #fffdf5; font: 500 clamp(23px, 2.4vw, 36px)/1.4 "Noto Serif JP", serif; letter-spacing: -.06em; margin: 28px 0 18px; }
.business-detail-list p { color: #c6d8c9; font: 14px/2 "Noto Serif JP", serif; margin: 0; max-width: 440px; }
.business-detail-card { cursor: pointer; position: relative; transition: background .25s ease, padding .25s ease; }
.business-detail-card:hover, .business-detail-card:focus-visible { background: rgba(169,198,172,.08); outline: none; }
.business-detail-card b { align-items: center; color: #b8d4bc; display: inline-flex; font: 500 10px "Space Grotesk"; gap: 8px; letter-spacing: .12em; margin-top: 24px; }
.business-detail-overlay { inset: 0; position: fixed; z-index: 50; }
.business-detail-backdrop { background: rgba(2,10,7,.72); border: 0; cursor: pointer; inset: 0; position: absolute; width: 100%; }
.business-detail-drawer { background: #f3eee5; bottom: 0; color: #10271b; max-width: 620px; overflow-y: auto; padding: 30px 5vw 48px; position: absolute; right: 0; top: 0; width: min(92vw, 620px); }
.business-detail-drawer .drawer-topline { align-items: center; border-bottom: 1px solid rgba(16,16,15,.22); color: #477557; display: flex; font: 500 10px "Space Grotesk"; justify-content: space-between; letter-spacing: .12em; padding-bottom: 20px; }
.business-detail-drawer .close-button { background: transparent; border: 1px solid rgba(16,16,15,.3); color: #173d29; height: 42px; width: 42px; }
.business-drawer-index { color: #6f9276; font: 500 11px "Space Grotesk"; letter-spacing: .14em; margin: 10vh 0 3vh; }
.business-detail-drawer h2 { font: 500 clamp(36px, 5vw, 62px)/1.2 "Noto Serif JP", serif; letter-spacing: -.1em; margin: 0 0 5vh; }
.business-drawer-lede { color: #245b3b; font: 500 20px/1.8 "Noto Serif JP", serif; margin: 0 0 4vh; }
.business-drawer-body { border-top: 1px solid rgba(16,16,15,.2); color: #496b55; font: 15px/2.1 "Noto Serif JP", serif; margin: 0; padding-top: 4vh; }
.business-drawer-contact { align-items: center; border: 1px solid #173d29; color: #173d29; display: inline-flex; font: 500 11px "Space Grotesk"; gap: 15px; justify-content: space-between; letter-spacing: .1em; margin-top: 7vh; padding: 20px 22px; width: min(100%, 360px); }
.business-detail-foot { align-items: end; display: flex; justify-content: space-between; padding-top: 7vh; }
.business-detail-foot span { color: #9fbea5; font: 500 10px "Space Grotesk"; letter-spacing: .14em; }
.business-detail-foot p { color: #fffdf5; font: 500 clamp(18px, 2vw, 27px) "Noto Serif JP", serif; margin: 0; }
.recruit-section { background: var(--green); color: var(--paper); min-height: 79svh; }
.recruit-section .closing-statement { margin-top: 18vh; }
.recruit-section .closing-statement p { font-size: clamp(42px, 7vw, 104px); }
.last-message { background: #101411; color: #fffdf5; min-height: 88svh; overflow: hidden; padding: 10vh 9.6vw 8vh; position: relative; }
.last-message::after { border: 1px solid rgba(225,232,219,.3); border-radius: 50%; content: ""; height: 62vw; max-height: 850px; max-width: 850px; position: absolute; right: -15vw; top: -22vw; width: 62vw; }
.merged-closing::after { display: none; }
.last-image { background: #111613; inset: 0; opacity: 1; position: absolute; }
.last-overlay { background: linear-gradient(135deg, #101411 0%, #0d120f 100%); inset: 0; position: absolute; }
.last-message > :not(.last-image):not(.last-overlay) { position: relative; z-index: 1; }
.last-message .eyebrow { color: var(--orange); }
.last-message h2 { font: 500 clamp(49px, 8vw, 122px)/1.08 "Noto Serif JP", serif; letter-spacing: -.11em; margin: 18vh 0 10vh; }
.last-message h2 em { color: var(--orange); font-style: normal; }
.merged-closing .recruit-kicker { color: #fffdf5; font: 600 clamp(52px, 8.8vw, 146px)/1.24 "Noto Serif JP", serif; letter-spacing: -.16em; margin: 15vh 0 7vh; max-width: 980px; position: relative; z-index: 1; text-shadow: 0 2px 18px rgba(0,0,0,.28); }
.merged-closing .closing-topline { border-top: 1px solid rgba(225,232,219,.28); padding-top: 20px; }
.merged-closing .recruit-kicker em { color: #fffdf5; font-style: normal; white-space: nowrap; }
.merged-closing h2 { color: #f4f1e9; font-size: clamp(54px, 8.4vw, 132px); letter-spacing: -.16em; line-height: 1.08; margin: 14vh 0 7vh; max-width: 920px; }
.merged-closing h2 em { color: #f4f1e9; }
.closing-subcopy { color: #e0e4dd; font: 500 clamp(16px, 1.5vw, 22px)/1.9 "Noto Serif JP", serif; margin: 0 0 5vh; position: relative; z-index: 1; }
.join-button { align-items: center; background: #f1efe8; border: 1px solid #f1efe8; color: #111613; display: inline-flex; font: 500 13px "Space Grotesk"; gap: 18px; justify-content: space-between; letter-spacing: .12em; min-height: 76px; min-width: min(100%, 440px); padding: 22px 25px; transition: background .25s ease, color .25s ease; }
.join-button:hover { background: transparent; color: var(--paper); }
.last-message .back-top { bottom: 8vh; color: #c3d2c3; position: absolute; right: 9.6vw; }
.merged-closing .back-top { bottom: auto; display: inline-flex; margin: 4vh 0 0; position: relative; right: auto; }

.chapter-nav { align-items: center; background: #0b2419; border-bottom: 1px solid var(--line); border-top: 1px solid var(--line); display: flex; gap: 2.8vw; padding: 15px 4.8vw; position: sticky; top: 0; z-index: 15; }
.chapter-label { color: #a7c0aa; margin-right: 1.5vw; }
.chapter-button { align-items: baseline; color: #b9cdbb; display: flex; gap: 9px; transition: color .25s ease; }
.chapter-button strong { font: 600 11px "Space Grotesk"; letter-spacing: .07em; }
.chapter-button:hover, .chapter-button.is-active { color: var(--paper); }
.chapter-button.is-active strong { color: var(--orange); }

.person-section { background: #071510; border-bottom: 1px solid var(--line); min-height: 100svh; padding: 10vh 4.8vw 7vh; position: relative; scroll-margin-top: 53px; }
.person-section:nth-child(even) { background: #0d2f20; }
.person-section::before { background: var(--person-accent); content: ""; height: 2px; left: 4.8vw; opacity: .8; position: absolute; top: 0; transition: width .6s var(--ease-out); width: 5vw; }
.person-section:hover::before { width: 12vw; }
.person-section-meta { align-items: center; color: #b5c9b8; display: flex; gap: 15px; }
.meta-line { background: #534e47; height: 1px; width: 42px; }
.person-layout { align-items: center; display: grid; gap: 8vw; grid-template-columns: minmax(280px, 42vw) 1fr; margin: 6vh auto 0; max-width: 1440px; }
.portrait-frame { aspect-ratio: .82; background: #2a2925; cursor: pointer; overflow: hidden; position: relative; text-align: left; width: 100%; }
.portrait-frame img { filter: grayscale(100%) contrast(1.04); height: 100%; object-fit: cover; opacity: .9; transform: scale(1.005); transition: filter .7s var(--ease-out), transform .8s var(--ease-out), opacity .5s ease; width: 100%; }
.portrait-frame:hover img { filter: grayscale(0%) contrast(1.04); opacity: 1; transform: scale(1.04); }
.portrait-shade { background: linear-gradient(180deg, rgba(16,16,15,.05), rgba(16,16,15,.72)); inset: 0; position: absolute; }
.portrait-open { align-items: center; bottom: 28px; display: flex; font: 500 10px "Space Grotesk"; gap: 10px; left: 28px; letter-spacing: .14em; opacity: .88; }
.portrait-open svg { color: var(--person-accent); }
.portrait-number { color: rgba(244,240,232,.35); font: 600 clamp(70px, 9vw, 130px)/1 "Space Grotesk"; letter-spacing: -.1em; position: absolute; right: 20px; top: 14px; }
.person-copy { max-width: 540px; }
.person-kana { color: var(--person-accent); font: 500 11px "Noto Sans JP"; letter-spacing: .12em; margin: 0 0 17px; }
.person-name-button { align-items: flex-end; display: flex; text-align: left; width: 100%; }
.person-name { color: var(--paper); font: 600 clamp(58px, 9.3vw, 152px)/.82 "Space Grotesk"; letter-spacing: -.1em; margin: 0 0 0 -.07em; transition: color .25s ease; }
.person-name-button:hover .person-name { color: var(--person-accent); }
.name-arrow { color: var(--person-accent); flex: 0 0 auto; margin: 0 0 7px 19px; transition: transform .3s var(--ease-out); }
.person-name-button:hover .name-arrow { transform: translate(5px, -5px); }
.person-basics { border-bottom: 1px solid var(--line); border-top: 1px solid var(--line); display: grid; grid-template-columns: 1fr 1fr 1.5fr; margin-top: 4.2vh; padding: 18px 0 17px; }
.person-basics div { display: flex; flex-direction: column; gap: 8px; }
.person-basics span { color: #aac2af; }
.person-basics strong { color: var(--paper); font-size: 13px; font-weight: 500; line-height: 1.45; }
.person-copy blockquote { color: var(--paper); font-family: "Noto Serif JP", serif; font-size: clamp(17px, 1.7vw, 24px); letter-spacing: .03em; line-height: 1.8; margin: 4.5vh 0 5vh; max-width: 450px; }
.story-link { align-items: center; color: var(--paper); display: inline-flex; gap: 15px; transition: color .2s ease; }
.story-link:hover { color: var(--person-accent); }
.story-link-icon { align-items: center; border: 1px solid var(--person-accent); border-radius: 50%; display: inline-flex; height: 31px; justify-content: center; transition: background .25s ease, color .25s ease; width: 31px; }
.story-link:hover .story-link-icon { background: var(--person-accent); color: var(--ink); }
.person-quote { color: #b5c9b8; font: 500 10px "Space Grotesk"; letter-spacing: .08em; margin: 5vh 0 0 auto; max-width: 420px; position: static; text-align: right; }
.profile-meaning { border-left: 2px solid var(--person-accent); color: #dce6dc; font: 500 clamp(18px, 2vw, 28px)/1.6 "Noto Serif JP", serif; letter-spacing: -.04em; margin: -1vh 0 5vh; max-width: 480px; padding-left: 18px; }
.profile-saya .person-name { font-size: clamp(70px, 11vw, 178px); }
.profile-saya .person-copy blockquote { color: #f0eee6; font-size: clamp(20px, 2vw, 29px); }
.story-link { margin-bottom: 1vh; position: relative; z-index: 2; }

.closing { background: var(--green); color: var(--paper); min-height: 100svh; padding: 12vh 9.6vw 7vh; position: relative; }
.closing::after { border: 1px solid rgba(16,16,15,.28); border-radius: 50%; bottom: -23vw; content: ""; height: 65vw; position: absolute; right: -12vw; width: 65vw; }
.closing-topline { display: flex; justify-content: space-between; position: relative; z-index: 1; }
.closing-statement { display: flex; flex-direction: column; gap: 5.5vh; margin: 17vh 0 13vh; position: relative; z-index: 1; }
.closing-statement p { font: 500 clamp(34px, 6vw, 92px)/1.15 "Noto Serif JP", serif; letter-spacing: -.1em; margin: 0; }
.closing-statement em { color: #b6cbb8; font-style: normal; }
.closing-footer { align-items: end; border-top: 1px solid rgba(16,16,15,.34); display: flex; justify-content: space-between; padding-top: 18px; position: relative; z-index: 1; }
.closing-footer p { font: 500 13px/1.8 "Noto Serif JP", serif; margin: 0; }
.back-top { align-items: center; display: flex; gap: 9px; }

@media (min-width: 761px) {
  .scroll-cue { margin-right: 7vw; }
}

.profile-overlay { inset: 0; position: fixed; z-index: 50; }
.overlay-backdrop { background: rgba(0,0,0,.65); inset: 0; position: absolute; }
.profile-drawer { background: var(--paper); color: var(--ink); height: 100%; max-width: 760px; overflow-y: auto; padding: 28px 4.5vw 56px; position: absolute; right: 0; top: 0; width: min(63vw, 760px); animation: drawerIn .45s var(--ease-out); }
@keyframes drawerIn { from { opacity: 0; transform: translateX(32px); } to { opacity: 1; transform: translateX(0); } }
.drawer-topline { align-items: center; border-bottom: 1px solid rgba(16,16,15,.25); color: #817a6f; display: flex; justify-content: space-between; padding-bottom: 18px; }
.close-button { align-items: center; border: 1px solid rgba(16,16,15,.3); border-radius: 50%; display: inline-flex; height: 36px; justify-content: center; transition: background .2s ease, color .2s ease; width: 36px; }
.close-button:hover { background: var(--ink); color: var(--paper); }
.drawer-identity { align-items: center; display: flex; gap: 24px; margin-top: 7vh; }
.drawer-thumb { aspect-ratio: 1; background: #d6d0c4; overflow: hidden; width: 122px; }
.drawer-thumb img { filter: grayscale(100%); height: 100%; object-fit: cover; width: 100%; }
.drawer-identity h2 { font: 600 clamp(42px, 6vw, 74px)/.8 "Space Grotesk"; letter-spacing: -.1em; margin: 8px 0 13px; }
.drawer-identity > div:last-child > p:last-child { color: #726b61; font-size: 13px; margin: 0; }
.drawer-lede { font: 500 clamp(22px, 2.6vw, 36px)/1.55 "Noto Serif JP", serif; letter-spacing: -.06em; margin: 7vh 0 8vh; max-width: 580px; }
.profile-answers { border-top: 1px solid rgba(16,16,15,.25); }
.answer { border-bottom: 1px solid rgba(16,16,15,.25); display: grid; gap: 30px; grid-template-columns: 160px 1fr; padding: 28px 0 32px; }
.answer-label { align-items: flex-start; color: #726b61; display: flex; gap: 12px; }
.answer-label span { color: var(--orange); }
.answer-label strong { color: var(--ink); font-weight: 600; letter-spacing: .08em; }
.answer p { font-family: "Noto Serif JP", serif; font-size: 15px; line-height: 2; margin: -5px 0 0; }
.drawer-end { color: #837b6f; margin-top: 33px; }

@media (max-width: 760px) {
  .opening-team-photo { background: #071510; padding: 7vh 4.8vw 10vh; }
.opening-team-photo-inner { margin: 0 auto; max-width: 1440px; width: 100%; }
.opening-team-photo-frame { overflow: hidden; position: relative; }
.opening-team-photo-frame::after { background: linear-gradient(180deg, transparent 65%, rgba(7,21,16,.28)); content: ""; inset: 0; pointer-events: none; position: absolute; }
.opening-team-photo img { display: block; filter: saturate(.82) contrast(1.04); height: min(48vw, 650px); object-fit: cover; object-position: center 44%; width: 100%; }
.opening-team-caption { align-items: baseline; border-bottom: 1px solid rgba(225,232,219,.22); display: flex; justify-content: space-between; gap: 24px; padding: 18px 2px 16px; }
.opening-team-caption span { color: #a9bea9; font: 500 10px/1.2 "Space Grotesk", sans-serif; letter-spacing: .16em; white-space: nowrap; }
.opening-team-caption p { color: #e4e9df; font: 500 clamp(14px, 1.25vw, 18px)/1.8 "Noto Serif JP", serif; letter-spacing: .02em; margin: 0; text-align: right; }

  .site-header { padding: 20px 5.5vw; }
  .site-header.is-scrolled { padding-bottom: 15px; padding-top: 15px; }
  .header-nav { display: none; }
  .header-link { font-size: 9px; }
  .intro { min-height: 92svh; padding: 15vh 5.5vw 5vh; }
  .intro::after { height: 115vw; right: -36vw; top: 7vh; width: 115vw; }
  .intro-kicker { margin: 0 0 6vh 0; }
  .intro-title { font-size: clamp(61px, 19.2vw, 132px); }
  .intro-tagline { font-size: clamp(27px, 8vw, 40px); margin-left: 0; }
  .outline-text { margin-left: 9vw; }
  .intro-bottom { align-items: start; flex-direction: column; gap: 7vh; }
  .intro-copy { font-size: 13px; }
  .scroll-cue { align-self: end; }
  .intro-index { bottom: 4vh; right: 5.5vw; }
  .brand-section { min-height: auto; padding: 10vh 8vw 9vh; }
  .about-grid, .business-head, .growth-grid, .founder-grid { display: block; margin-top: 9vh; }
  .growth-section { padding-bottom: 3vh; padding-top: 5vh; }
  .about-grid h2, .business-head h2, .growth-grid h2, .founder-grid h2 { font-size: clamp(39px, 12vw, 62px); }
  .section-copy, .business-head > p { margin-top: 7vh; }
  .growth-grid > p { color: #173d29; margin-top: 3vh; }
  .growth-grid > p { border-left: 0; padding-left: 0; }
  .business-list { margin-top: 8vh; }
  .growth-points { margin-top: 3vh; }
  .growth-points span { font-size: 15px; }
  .growth-points b { font-size: 12px; }
  .business-item { grid-template-columns: 32px 1fr auto; padding: 18px 0; }
  .business-item strong { font-size: 17px; }
  .business-overview-photo { height: 58vw; margin-top: 7vh; width: 100%; }
  .values-intro { display: block; margin: 9vh 0 7vh; }
  .values-intro h2 { font-size: clamp(39px, 12vw, 63px); }
  .values-intro p { margin-top: 5vh; }
  .values-list { display: block; }
  .values-list > div, .values-list > div + div { border-bottom: 1px solid rgba(16,16,15,.25); border-right: 0; min-height: auto; padding: 21px 0 27px; }
  .values-list > div:last-child { border-bottom: 0; }
  .values-list h3 { margin: 19px 0 11px; }
  .growth-points { display: block; }
  .growth-points span { border-bottom: 1px solid rgba(16,16,15,.25); display: block; padding: 10px 0; }
  .founder-grid .section-copy > p:first-child { font-size: 20px; }
  .founder-message { margin-top: 8vh; max-width: none; }
  .founder-message p { margin-bottom: 21px; }
  .founder-message .founder-emphasis { margin-top: 40px; }
  .business-detail { padding: 9vh 8vw 8vh; }
  .business-detail-head { display: block; }
  .business-detail-head h2 { font-size: clamp(40px, 12vw, 64px); margin-top: 8vh; }
  .business-detail-head > p { margin-top: 5vh; }
  .business-detail-hero { height: 68vw; margin: 7vh 0 8vh 8vw; width: calc(100% - 8vw); }
  .business-detail-list { display: block; }
  .business-detail-list article, .business-detail-list article:nth-child(even), .business-detail-list article:last-child { border-left: 0; max-width: none; min-height: auto; padding: 24px 0 28px; }
  .business-detail-list h3 { margin: 18px 0 12px; }
  .business-detail-foot { align-items: start; display: block; padding-top: 5vh; }
  .business-detail-foot p { margin-top: 3vh; }
  .business-detail-drawer { max-height: 88svh; padding: 22px 8vw 34px; top: auto; width: 100%; }
  .business-drawer-index { margin: 5vh 0 2vh; }
  .business-detail-drawer h2 { font-size: clamp(32px, 10vw, 48px); margin-bottom: 3vh; }
  .business-drawer-lede { font-size: 17px; }
  .business-drawer-contact { margin-top: 5vh; width: 100%; }
  .founder-photo { margin-top: 5vh; width: 100%; }
  .recruit-section .closing-statement { margin-top: 13vh; }
  .last-message { min-height: 79svh; padding: 9vh 8vw 8vh; }
  .merged-closing .recruit-kicker { color: #fffdf5; font-size: clamp(32px, 9.5vw, 54px); letter-spacing: -.16em; margin: 14vh 0 7vh; text-shadow: 0 2px 18px rgba(0,0,0,.28); }
  .closing-subcopy { margin-bottom: 6vh; }
  .join-button { min-height: 70px; width: 100%; }
  .last-message h2 { font-size: clamp(40px, 11vw, 59px); margin: 17vh 0 9vh; }
  .last-message .back-top { bottom: 7vh; right: 8vw; }
  .merged-closing .back-top { bottom: auto; margin-top: 4vh; position: relative; right: auto; }
  .manifesto { min-height: 70svh; padding: 12vh 8vw 8vh; }
  .manifesto::before { left: 8vw; }
  .manifesto-copy { display: block; margin-top: 11vh; }
  .manifesto-large { margin-top: 8vh; }
  .manifesto-rule { margin-top: 12vh; }
  .chapter-nav { gap: 6vw; overflow-x: auto; padding: 14px 5.5vw; scrollbar-width: none; }
  .chapter-nav::-webkit-scrollbar { display: none; }
  .chapter-label { display: none; }
  .chapter-button { flex: 0 0 auto; }
  .person-section { min-height: auto; padding: 9vh 5.5vw 9vh; }
  .person-section-meta { font-size: 9px; }
  .person-layout { display: flex; flex-direction: column; gap: 5vh; margin-top: 5vh; }
  .portrait-frame { aspect-ratio: .84; width: 82vw; }
  .person-copy { width: 100%; }
  .person-name { font-size: clamp(58px, 19vw, 108px); }
  .name-arrow { margin-bottom: 3px; }
  .person-basics { margin-top: 3.5vh; }
  .person-basics strong { font-size: 11px; }
  .person-copy blockquote { font-size: 17px; margin: 4vh 0; }
  .person-quote { font-size: 9px; margin: 5vh 0 0; max-width: 100%; text-align: left; }
  .profile-meaning { font-size: 19px; margin: 0 0 4vh; padding-left: 14px; }
  .closing { min-height: 90svh; padding: 11vh 8vw 6vh; }
  .closing-statement { margin: 16vh 0 16vh; }
  .closing-statement p { font-size: clamp(32px, 10vw, 60px); }
  .closing-footer p { font-size: 11px; }
  .profile-drawer { padding: 22px 7vw 44px; width: 100%; }
  .drawer-identity { gap: 16px; margin-top: 5vh; }
  .drawer-thumb { width: 86px; }
  .drawer-identity h2 { font-size: 48px; }
  .drawer-lede { font-size: 23px; margin: 6vh 0; }
  .answer { display: block; padding: 23px 0 25px; }
  .answer-label { margin-bottom: 17px; }
  .answer p { font-size: 14px; line-height: 1.9; margin: 0; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

/* Final corporate structure additions */
.chapter-nav { align-items: center; background: #0b2419; border-bottom: 1px solid var(--line); border-top: 1px solid var(--line); display: flex; gap: 2.8vw; padding: 15px 4.8vw; position: sticky; top: 0; z-index: 15; }
.chapter-label { color: #b5c9b8; }
.chapter-button { background: transparent; border: 0; color: #edf0e7; display: flex; gap: 10px; padding: 0; }
.chapter-button span { color: #9fbea5; }
.chapter-button.is-active strong { color: #b8d4bc; }
.people-list { background: #071510; }
.person-section { background: #071510; border-bottom: 1px solid var(--line); min-height: 100svh; padding: 10vh 4.8vw 7vh; position: relative; scroll-margin-top: 53px; }
.person-section:nth-child(even) { background: #0d2f20; }
.person-section::before { background: var(--person-accent); content: ""; height: 2px; left: 4.8vw; opacity: .8; position: absolute; top: 0; width: 5vw; }
.person-section-meta { align-items: center; color: #b5c9b8; display: flex; gap: 15px; }
.meta-line { background: rgba(181,201,184,.35); height: 1px; width: 34px; }
.person-layout { align-items: center; display: grid; gap: 8vw; grid-template-columns: minmax(280px, 42vw) 1fr; margin: 6vh auto 0; max-width: 1440px; }
.portrait-frame { aspect-ratio: .82; background: #2a2925; border: 0; cursor: pointer; overflow: hidden; padding: 0; position: relative; text-align: left; width: 100%; }
.portrait-frame img { filter: grayscale(100%) contrast(1.04); height: 100%; object-fit: cover; opacity: .9; transform: scale(1.005); transition: filter .7s var(--ease-out), transform .8s var(--ease-out), opacity .5s ease; width: 100%; }
.portrait-frame:hover img, .portrait-frame:focus-visible img { filter: grayscale(0%) contrast(1.04); opacity: 1; transform: scale(1.04); }
.portrait-shade { background: linear-gradient(180deg, transparent 45%, rgba(0,0,0,.72)); inset: 0; position: absolute; }
.portrait-open { align-items: center; bottom: 28px; color: #fffdf5; display: flex; font: 500 10px "Space Grotesk"; gap: 12px; left: 28px; letter-spacing: .14em; position: absolute; }
.portrait-number { color: #fffdf5; font: 500 12px "Space Grotesk"; position: absolute; right: 25px; top: 25px; }
.person-copy { max-width: 580px; }
.person-kana { color: #9fbea5; font: 500 11px "Space Grotesk"; letter-spacing: .15em; margin: 0 0 20px; }
.person-name-button { align-items: center; background: transparent; border: 0; color: #fffdf5; display: flex; justify-content: space-between; padding: 0; width: 100%; }
.person-name { font: 500 clamp(64px, 9vw, 142px)/.88 "Space Grotesk"; letter-spacing: -.1em; margin: 0; }
.name-arrow { color: #9fbea5; }
.person-basics { border-bottom: 1px solid rgba(225,232,219,.25); border-top: 1px solid rgba(225,232,219,.25); display: grid; grid-template-columns: 1fr 1fr 1.5fr; margin-top: 6vh; padding: 16px 0; }
.person-basics div { display: grid; gap: 8px; }
.person-basics span { color: #9fbea5; }
.person-basics strong { color: #eef2e9; font: 500 13px "Noto Serif JP", serif; }
.person-copy blockquote { color: #dbe7da; font: 500 clamp(20px, 2.4vw, 33px)/1.6 "Noto Serif JP", serif; letter-spacing: -.06em; margin: 6vh 0 5vh; }
.story-link { align-items: center; background: transparent; border: 0; border-bottom: 1px solid #9fbea5; color: #dce9dc; display: flex; font: 500 10px "Space Grotesk"; justify-content: space-between; letter-spacing: .13em; padding: 0 0 13px; width: 220px; }
.story-link-icon { align-items: center; border: 1px solid #9fbea5; border-radius: 50%; display: flex; height: 26px; justify-content: center; width: 26px; }
.person-quote { bottom: 7vh; color: #9fbea5; font: 500 12px "Noto Serif JP", serif; margin: 0; position: absolute; right: 4.8vw; }
.staff-note { border-left: 1px solid #6f9276; color: #bdd1bf; font: 13px/1.9 "Noto Serif JP", serif; margin: 7vh 0 0 auto; max-width: 440px; padding-left: 18px; }
.staff-note span { color: #9fbea5; display: block; font: 500 10px "Space Grotesk"; letter-spacing: .1em; margin-bottom: 8px; }
.profile-overlay { inset: 0; position: fixed; z-index: 60; }
.overlay-backdrop, .business-detail-backdrop { background: rgba(0,0,0,.65); border: 0; inset: 0; position: absolute; }
.profile-drawer { background: var(--paper); color: var(--ink); height: 100%; max-width: 760px; overflow-y: auto; padding: 28px 4.5vw 56px; position: absolute; right: 0; top: 0; width: min(63vw, 760px); }
.drawer-topline { align-items: center; border-bottom: 1px solid rgba(16,16,15,.25); color: #817a6f; display: flex; justify-content: space-between; padding-bottom: 18px; }
.close-button { align-items: center; background: transparent; border: 1px solid rgba(16,16,15,.3); display: inline-flex; height: 36px; justify-content: center; width: 36px; }
.drawer-identity { align-items: center; display: flex; gap: 24px; margin-top: 7vh; }
.drawer-thumb { aspect-ratio: 1; background: #d6d0c4; overflow: hidden; width: 122px; }
.drawer-thumb img { filter: grayscale(100%); height: 100%; object-fit: cover; width: 100%; }
.drawer-identity h2 { font: 600 clamp(42px, 6vw, 74px)/.8 "Space Grotesk"; letter-spacing: -.1em; margin: 8px 0 13px; }
.drawer-identity > div:last-child > p:last-child { color: #726b61; font-size: 13px; margin: 0; }
.drawer-lede { font: 500 clamp(22px, 2.6vw, 36px)/1.55 "Noto Serif JP", serif; letter-spacing: -.06em; margin: 7vh 0 8vh; max-width: 580px; }
.profile-answers { border-top: 1px solid rgba(16,16,15,.25); }
.answer { border-bottom: 1px solid rgba(16,16,15,.25); display: grid; gap: 30px; grid-template-columns: 160px 1fr; padding: 28px 0 32px; }
.answer-label { align-items: flex-start; color: #726b61; display: flex; gap: 12px; }
.answer-label span { color: var(--orange); }
.answer-label strong { color: var(--ink); font-weight: 600; letter-spacing: .08em; }
.answer p { font-family: "Noto Serif JP", serif; font-size: 15px; line-height: 2; margin: -5px 0 0; }
.drawer-end { color: #837b6f; margin-top: 33px; }
.company-section { background: #f3eee5; color: var(--ink); padding: 12vh 9.6vw 10vh; }
.company-grid, .contact-grid { display: grid; gap: 10vw; grid-template-columns: 1fr 1fr; margin-top: 10vh; }
.company-grid h2, .contact-grid h2 { font: 500 clamp(42px, 6vw, 86px)/1.1 "Noto Serif JP", serif; letter-spacing: -.12em; margin: 0; }
.company-grid h2 em, .contact-grid h2 em { color: #4e7e5d; font-style: normal; }
.company-grid p, .contact-grid > div > p { color: #496b55; font: 15px/2 "Noto Serif JP", serif; margin-top: 5vh; max-width: 420px; }
.company-grid dl { border-top: 1px solid rgba(16,16,15,.25); margin: 0; }
.company-grid dl div { border-bottom: 1px solid rgba(16,16,15,.25); display: grid; grid-template-columns: 120px 1fr; padding: 18px 0; }
.company-grid dt { color: #6f9276; font: 500 10px "Space Grotesk"; letter-spacing: .1em; }
.company-grid dd { font: 14px/1.9 "Noto Serif JP", serif; margin: 0; }
.company-contact-link { align-items: center; border-bottom: 1px solid #173d29; color: #173d29; display: flex; font: 500 11px "Space Grotesk"; justify-content: space-between; letter-spacing: .1em; margin-top: 8vh; max-width: 330px; padding-bottom: 14px; }
.contact-section { background: #0b2419; color: #fffdf5; padding: 12vh 9.6vw 12vh; }
.contact-grid > div > p { color: #c6d8c9; }
.contact-form { border-top: 1px solid rgba(225,232,219,.3); }
.contact-form label { color: #9fbea5; display: grid; font: 500 10px "Space Grotesk"; gap: 10px; letter-spacing: .1em; padding: 19px 0; }
.contact-form input, .contact-form textarea { background: transparent; border: 0; border-bottom: 1px solid rgba(225,232,219,.3); border-radius: 0; color: #fffdf5; font: 14px "Noto Serif JP", serif; outline: none; padding: 10px 0; resize: vertical; }
.contact-form button { align-items: center; background: #f3eee5; border: 0; color: #173d29; display: flex; font: 500 11px "Space Grotesk"; gap: 15px; justify-content: space-between; letter-spacing: .1em; margin-top: 3vh; min-height: 60px; padding: 0 20px; width: 100%; }
.contact-form button:active, .join-button:active { transform: scale(.97); }
.recruit-kicker { max-width: 100%; }
@media (max-width: 760px) {
  .chapter-nav { gap: 6vw; overflow-x: auto; padding: 14px 5.5vw; scrollbar-width: none; }
  .chapter-nav::-webkit-scrollbar { display: none; }
  .chapter-label { display: none; }
  .chapter-button { flex: 0 0 auto; }
  .person-section { min-height: auto; padding: 9vh 5.5vw 9vh; }
  .person-section-meta { font-size: 9px; }
  .person-layout { display: flex; flex-direction: column; gap: 5vh; margin-top: 5vh; }
  .portrait-frame { aspect-ratio: .84; width: 82vw; }
  .person-copy { width: 100%; }
  .person-name { font-size: clamp(58px, 19vw, 108px); }
  .person-basics { margin-top: 3.5vh; }
  .person-basics strong { font-size: 11px; }
  .person-copy blockquote { font-size: 17px; margin: 4vh 0; }
  .person-quote { bottom: 3vh; font-size: 9px; right: 5.5vw; }
  .staff-note { margin-top: 6vh; max-width: 100%; }
  .profile-drawer { padding: 22px 7vw 44px; width: 100%; }
  .drawer-identity { gap: 16px; margin-top: 5vh; }
  .drawer-thumb { width: 86px; }
  .drawer-identity h2 { font-size: 48px; }
  .drawer-lede { font-size: 23px; margin: 6vh 0; }
  .answer { display: block; padding: 23px 0 25px; }
  .company-section, .contact-section { padding: 10vh 8vw 9vh; }
  .company-grid, .contact-grid { display: block; margin-top: 8vh; }
  .company-grid dl { margin-top: 8vh; }
  .company-grid dl div { grid-template-columns: 100px 1fr; }
  .contact-form { margin-top: 8vh; }
}

.business-item strong { display: grid; gap: 8px; }
.business-item strong b { font: inherit; font-weight: 500; }
.business-item strong small { color: #a8c1ad; font: 12px/1.65 "Noto Serif JP", serif; font-weight: 400; max-width: 720px; }
@media (max-width: 760px) {
  .business-item strong small { font-size: 11px; line-height: 1.65; }
}

.people-intro { background: #071510; color: #fffdf5; padding: 12vh 9.6vw 8vh; }
.people-intro > div:last-child { margin: 10vh 0 0 16vw; max-width: 760px; }
.people-intro h2 { font: 500 clamp(42px, 6vw, 86px)/1.18 "Noto Serif JP", serif; letter-spacing: -.12em; margin: 0; }
.people-intro h2 em { color: #a9c6ac; font-style: normal; }
.people-intro p { color: #c6d8c9; font: 15px/2 "Noto Serif JP", serif; margin: 5vh 0 0; max-width: 560px; }
@media (max-width: 760px) {
  .people-intro { padding: 10vh 8vw 7vh; }
  .people-intro > div:last-child { margin: 8vh 0 0; }
  .people-intro h2 { font-size: clamp(38px, 11vw, 58px); }
  .people-intro p { font-size: 13px; margin-top: 4vh; }
}

.icon-arrow{font-family:Arial,sans-serif;font-size:1em;line-height:1;display:inline-block}.business-detail-overlay[hidden]{display:none!important}.close-button{cursor:pointer}.business-item{cursor:pointer}.site-header a{cursor:pointer}.join-button,.business-drawer-contact{cursor:pointer}

@media (max-width: 760px) {
  .intro { min-height: 94svh; padding-top: 13.5vh; }
  .intro-title-wrap { justify-content: center; padding: 4vh 0 2vh; }
  .intro-kicker { margin-bottom: 3.5vh; }
  .intro-title { font-size: clamp(64px, 18vw, 105px); line-height: .96; margin-bottom: 3vh; }
  .intro-tagline { font-size: clamp(25px, 7.2vw, 36px); line-height: 1.55; margin: 0; max-width: 92%; }
  .intro-bottom { margin-top: 4vh; }
  .opening-team-photo { padding: 4vh 0 8vh; }
  .opening-team-photo-inner { width: 100%; }
  .opening-team-photo img { height: 67vw; object-position: center 42%; }
  .opening-team-caption { align-items: flex-start; display: block; margin: 0 5.5vw; padding-top: 15px; }
  .opening-team-caption p { font-size: 14px; margin-top: 8px; text-align: left; }
  .founder-role { font-size: 22px; margin-bottom: 12px; }
}


/* v7 mobile hero overlap fix */
@media (max-width: 760px) {
  .intro { min-height: 96svh; padding-bottom: 8vh; }
  .intro-bottom {
    align-items: flex-start;
    gap: 2.2vh;
    margin-top: 5vh;
  }
  .scroll-cue {
    align-self: flex-start;
    font-size: 9px;
    gap: 12px;
    line-height: 1.6;
    max-width: 100%;
    white-space: normal;
  }
  .intro-index {
    position: static;
    align-self: flex-end;
    margin-top: 6px;
    font-size: 9px;
    opacity: .92;
  }
  .intro-copy {
    max-width: 84%;
  }
}



/* v10 readability tuning — larger headings and body copy */
.section-heading .section-number,
.section-heading .eyebrow {
  font-size: 12px;
  line-height: 1.35;
}

.about-grid h2,
.business-head h2,
.growth-grid h2,
.founder-grid h2 {
  font-size: clamp(46px, 6vw, 90px);
}
.values-intro h2 {
  font-size: clamp(48px, 6.5vw, 96px);
}
.company-grid h2 {
  font-size: clamp(48px, 6.5vw, 92px);
}

.section-copy p,
.business-head > p,
.growth-grid > p,
.values-intro p,
.company-grid p {
  font-size: 17px;
  line-height: 2.05;
}

.section-copy strong {
  font-size: 22px;
}

.business-item strong {
  font-size: clamp(22px, 2.35vw, 32px);
}
.business-item strong small {
  font-size: 14px;
  line-height: 1.75;
}

.values-list h3 {
  font-size: clamp(23px, 2.25vw, 32px);
}
.values-list p {
  font-size: 16px;
  line-height: 1.9;
}
.values-list span,
.founder-role {
  font-size: 12px;
}

.growth-points span {
  font-size: 18px;
}
.growth-points b {
  font-size: 14px;
}

.founder-grid .section-copy > p:first-child {
  font-size: 25px;
}
.founder-message p {
  font-size: 17px;
  line-height: 2.05;
}

.company-grid dd {
  font-size: 16px;
  line-height: 1.9;
}
.company-grid dt {
  font-size: 12px;
}

.closing-topline {
  font-size: 12px;
}
.closing-subcopy {
  font-size: clamp(18px, 1.75vw, 25px);
}

@media (max-width: 760px) {
  .section-heading .section-number,
  .section-heading .eyebrow {
    font-size: 11px;
  }

  .about-grid h2,
  .business-head h2,
  .growth-grid h2,
  .founder-grid h2,
  .values-intro h2,
  .company-grid h2 {
    font-size: clamp(43px, 13vw, 66px);
  }

  .section-copy p,
  .business-head > p,
  .growth-grid > p,
  .values-intro p,
  .company-grid p,
  .founder-message p {
    font-size: 16px;
    line-height: 2;
  }

  .business-item strong {
    font-size: 20px;
  }
  .business-item strong small {
    font-size: 13px;
  }

  .values-list h3 {
    font-size: 23px;
  }
  .values-list p {
    font-size: 15px;
  }

  .growth-points span {
    font-size: 17px;
  }
  .growth-points b {
    font-size: 13px;
  }

  .founder-grid .section-copy > p:first-child {
    font-size: 22px;
  }
  .founder-role {
    font-size: 23px;
  }

  .company-grid dd {
    font-size: 15px;
  }

  .closing-topline {
    font-size: 11px;
  }
  .closing-subcopy {
    font-size: 18px;
  }
}


/* v11 — section labels made clearly larger for mobile readability */
.section-heading {
  gap: 12px;
  align-items: baseline;
}
.section-heading .section-number {
  font-size: 15px !important;
  line-height: 1.35 !important;
  letter-spacing: .10em !important;
  font-weight: 600 !important;
}
.section-heading .eyebrow {
  font-size: 20px !important;
  line-height: 1.35 !important;
  letter-spacing: .06em !important;
  font-weight: 700 !important;
}

@media (max-width: 760px) {
  .section-heading {
    gap: 8px;
    margin-bottom: 34px;
  }
  .section-heading .section-number {
    font-size: 14px !important;
  }
  .section-heading .eyebrow {
    font-size: 19px !important;
  }
}


/* v12 — stronger founder signature */
.founder-signature {
  color: var(--ink) !important;
}
.founder-signature .signature-company {
  display: inline-block;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.5;
}
.founder-signature .signature-role {
  display: inline-block;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.6;
  margin-top: 8px;
}
.founder-signature .signature-name {
  color: #10100f;
  display: inline-block;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(30px, 3vw, 38px);
  font-weight: 700;
  letter-spacing: .02em;
  line-height: 1.35;
  margin-top: 3px;
}

@media (max-width: 760px) {
  .founder-signature .signature-company {
    font-size: 19px;
  }
  .founder-signature .signature-role {
    font-size: 17px;
  }
  .founder-signature .signature-name {
    font-size: 32px;
  }
}
