@charset "UTF-8";
:root{--paper:#f6f5f0;--ink:#252c29;--muted:#646d60;--line:#d8d9d0;--red:#7c303b;--dark:#232c28;--serif:"Songti SC","STSong","Noto Serif CJK SC","SimSun",serif;--sans:"PingFang SC","Microsoft YaHei",-apple-system,BlinkMacSystemFont,sans-serif;--gutter:6.25vw}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.04em}p{line-height:1.95}::selection{background:#dcc4c5;color:#252c29}:focus-visible{outline:2px solid var(--red);outline-offset:6px}.page-gutter{padding-left:var(--gutter);padding-right:var(--gutter)}.section-pad{padding-top:116px;padding-bottom:116px}.accent-text{color:var(--red)}.eyebrow{font-size:11px;letter-spacing:.14em;font-weight:500}.skip-link{position:fixed;z-index:10;left:16px;top:-80px;background:var(--ink);color:white;padding:14px 22px}.skip-link:focus{top:14px}.site-header{height:98px;padding:0 3.5vw;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:5;background:rgba(246,245,240,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(216,217,208,.3)}.brand{display:flex;align-items:center;min-height:48px;flex-shrink:0}.brand-logo{width:200px;height:auto}.main-nav{display:flex;gap:45px;align-items:center}.main-nav>a{min-height:48px;display:flex;gap:16px;align-items:center;font-size:13px;position:relative}.main-nav>a[aria-current=page]:after{content:"";position:absolute;bottom:2px;left:0;width:24px;height:2px;background:var(--red)}.main-nav>a:hover{color:var(--red)}.nav-arrow{border:1px solid var(--line);border-radius:50%;width:32px;height:32px;display:grid;place-items:center;font-size:16px;transition:background .2s,color .2s}.main-nav>a:hover .nav-arrow{background:var(--red);color:var(--paper);border-color:var(--red)}
.hero{position:relative;margin:0 22px;min-height:620px;height:calc(100svh - 178px);max-height:860px;overflow:hidden;background:#d8d2c7}.hero-image{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:50% 52%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(247,244,235,.35),transparent 62%)}.hero-top{position:absolute;top:36px;left:4.25vw;right:4.25vw;display:flex;justify-content:space-between;gap:20px}.hero-side-label{font-size:11px;letter-spacing:.14em}.hero-copy{position:absolute;left:4.25vw;top:50%;transform:translateY(-47%)}.hero h1{font-size:clamp(62px,6.2vw,100px);line-height:1.25;letter-spacing:-.055em}.hero h1 span{display:inline-block;padding-left:.74em}.hero-copy>p{font-size:14px;line-height:1.9;margin-top:25px;margin-left:5px;letter-spacing:.05em}.text-link{display:inline-flex;align-items:center;gap:24px;min-height:48px;font-size:13px;letter-spacing:.02em}.circle-arrow{display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;width:40px;height:40px;font-family:var(--sans);font-size:19px;transition:background .25s,color .25s,transform .25s}.text-link:hover .circle-arrow{background:var(--red);border-color:var(--red);color:white;transform:translateY(-2px)}.hero-link{margin-top:32px;margin-left:5px;gap:42px}.hero-bottom{position:absolute;bottom:26px;left:4.25vw;right:4.25vw;display:flex;justify-content:space-between;color:#f6f5f0;font-size:10px;letter-spacing:.12em;text-shadow:0 1px 5px #0007}.hero-bottom>span:first-child{color:#25312b;text-shadow:0 1px 6px #fff}.hero-caption{display:flex;align-items:center;justify-content:space-between;height:80px;border-bottom:1px solid var(--line);font-size:12px;letter-spacing:.025em}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--red);margin-right:8px;vertical-align:middle}.caption-right{font-size:11px;color:#656c63}.section-kicker{display:flex;gap:23px;font-size:12px;letter-spacing:.04em;align-items:flex-start;line-height:1.6}.section-kicker small{display:block;font-size:9px;letter-spacing:.12em;margin-top:8px;color:var(--muted)}.section-number{font-size:10px;line-height:2;color:var(--red);font-family:var(--sans)}h2{font-size:clamp(36px,3.8vw,58px);line-height:1.5}.philosophy{display:grid;grid-template-columns:27% 1fr;padding-bottom:128px}.philosophy-main h2{margin-top:-11px}.philosophy-bottom{display:flex;gap:12%;justify-content:space-between;margin-top:42px}.philosophy-bottom p{font-size:14px;color:#62685f;max-width:420px}.value-signature{display:flex;flex-direction:column;justify-content:space-between;flex-shrink:0;padding-left:25px;border-left:1px solid var(--line);font-size:12px;color:var(--red);letter-spacing:.08em;gap:13px}
/* The first-batch description follows the company introduction supplied by the user. */
.company-credential { margin-top: 35px; padding-left: 22px; border-left: 2px solid var(--red); }
.credential-context { color: #62685f; font-size: 13px; line-height: 1.7; letter-spacing: .025em; }
.credential-statement { display: flex; align-items: center; gap: 20px; margin-top: 9px; line-height: 1.5; }
.credential-statement strong { color: var(--red); font-family: var(--serif); font-size: 38px; font-weight: 600; line-height: 1.35; flex-shrink: 0; }
.credential-statement>span { font-size: 18px; color: var(--ink); }
.company-credential + .philosophy-bottom { margin-top: 28px; }
@media(max-width:760px) {
  .company-credential { margin-top: 28px; padding-left: 17px; }
  .credential-context { font-size: 12px; }
  .credential-statement { gap: 16px; margin-top: 12px; }
  .credential-statement strong { font-size: 32px; }
  .credential-statement>span { font-size: 16px; line-height: 1.7; }
  .credential-line { display: block; }
}

/* Research section: a warmer, more readable type hierarchy on deep green. */
.approach {
  --approach-heading: #eeeade;
  --approach-body: #d3d9cf;
  --approach-muted: #b5bfb3;
  --approach-accent: #dfbcae;
  background: var(--dark);
  color: var(--approach-heading);
  padding-top: 96px;
  padding-bottom: 96px;
  position: relative;
  overflow: hidden;
}
.approach-top { display: flex; justify-content: space-between; }
.approach .section-kicker { font-size: 14px; }
.approach .section-number { color: var(--approach-accent); font-size: 12px; }
.approach .section-kicker small { color: var(--approach-muted); font-size: 11px; }
.section-aside { font-size: 14px; color: var(--approach-muted); }
.approach-grid { display: grid; grid-template-columns: .95fr 1.09fr; gap: 8%; margin-top: 48px; }
.approach h2 { font-size: clamp(38px,3.2vw,50px); line-height: 1.45; letter-spacing: -.025em; }
.research-diagram { height: 252px; width: 370px; position: relative; margin: 48px 0 -13px; max-width: 100%; isolation: isolate; }
.research-orbit { position: absolute; border: 1px solid #79877a; border-radius: 50%; top: 50%; transform: translateY(-50%); display: flex; align-items: center; }
.research-orbit>span { position: absolute; font-size: 15px; letter-spacing: .03em; color: var(--approach-body); }
.research-orbit small { display: block; font-size: 9px; letter-spacing: .08em; color: var(--approach-muted); margin-top: 7px; }
.orbit-macro { width: 250px; height: 250px; left: 5px; }
.orbit-macro>span { left: 25px; top: 102px; }
.orbit-industry { width: 185px; height: 185px; left: 114px; border-color: #a3ae9e; }
.orbit-industry>span { left: 30px; top: 69px; }
.orbit-company { width: 115px; height: 115px; left: 228px; border-color: #cdb6a6; background: rgba(205,182,166,.08); }
.orbit-company>span { left: 30px; top: 34px; }
.diagram-axis { position: absolute; left: 0; right: 0; top: 50%; border-top: 1px solid #59675e; z-index: -1; opacity: .5; }
.diagram-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--approach-accent); position: absolute; top: 50%; left: 340px; transform: translateY(-50%); }
.method-list { border-top: 1px solid #6c786c; margin-top: 4px; }
.method { border-bottom: 1px solid #556254; }
.method summary { list-style: none; display: grid; grid-template-columns: 35px 1fr 24px; gap: 16px; align-items: start; cursor: pointer; padding: 32px 0; min-height: 110px; }
.method summary::-webkit-details-marker { display: none; }
.method-index { font-size: 12px; padding-top: 9px; color: var(--approach-muted); }
.method-title { font-size: clamp(28px,1.8vw,32px); font-family: var(--serif); font-weight: 500; letter-spacing: .015em; line-height: 1.35; color: var(--approach-heading); }
.method-title small { font-size: 11px; font-weight: 400; font-family: var(--sans); letter-spacing: .12em; color: var(--approach-muted); display: block; margin-top: 12px; }
.method-toggle { width: 24px; height: 24px; position: relative; margin-top: 7px; }
.method-toggle:before,.method-toggle:after { content: ''; position: absolute; background: var(--approach-heading); left: 4px; top: 11px; width: 16px; height: 1px; transition: transform .25s; }
.method-toggle:after { transform: rotate(90deg); }
.method[open] .method-toggle:after { transform: rotate(0); }
.method[open] .method-index { color: var(--approach-accent); }
.method summary:hover .method-title { color: var(--approach-accent); }
.method-content { padding: 0 22px 32px 51px; }
.method-content p { font-size: 17px; color: var(--approach-body); line-height: 1.9; }
.method-tag { display: block; color: var(--approach-accent); font-size: 12px; letter-spacing: .04em; margin-top: 24px; }
.approach-note { font-size: 13px; color: var(--approach-muted); margin-top: 27px; letter-spacing: .04em; }
.approach :focus-visible { outline-color: var(--approach-accent); }

/* Investment strategy: research, models, and execution in one readable sequence. */
.hero-strategy-link { display: inline-flex; align-items: center; gap: 13px; min-height: 40px; font-size: 11px; letter-spacing: .04em; border-bottom: 1px solid #f6f5f077; }
.hero-strategy-link:hover { border-color: var(--paper); }
.strategy { background: #f0f0e8; border-bottom: 1px solid var(--line); }
.strategy-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.strategy-edition { font-size: 10px; letter-spacing: .14em; color: var(--red); padding-top: 3px; }
.strategy-intro { display: grid; grid-template-columns: 1.1fr 1fr; align-items: center; gap: 8%; margin-top: 40px; }
.strategy-copy h2 { font-size: clamp(36px,3.5vw,54px); line-height: 1.45; letter-spacing: -.025em; }
.strategy-copy>p { margin-top: 24px; font-size: 15px; color: var(--muted); line-height: 1.9; }
.strategy-map { min-width: 0; }
.strategy-map-label,.strategy-map-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 10px; letter-spacing: .07em; color: var(--muted); }
.strategy-map-label { padding: 0 4px 15px; border-bottom: 1px solid var(--line); }
.strategy-map-label>span:last-child { font-size: 8px; letter-spacing: .1em; }
.strategy-map-foot { padding: 14px 4px 0; border-top: 1px solid var(--line); letter-spacing: .02em; }
.strategy-feedback-label { color: var(--red); white-space: nowrap; }
.strategy-feedback-label>span { font-size: 16px; margin-right: 4px; vertical-align: middle; }
.strategy-network { position: relative; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; align-items: center; margin: 16px 0; }
.strategy-network-lines { position: absolute; inset: 0; width: 100%; height: 100%; }
.strategy-network-grid { stroke: #d9ddd2; stroke-dasharray: 2 6; }
.strategy-network-routes { stroke: #9c776f; stroke-width: 1.2; }
.strategy-nodes { list-style: none; display: grid; gap: 30px; padding: 0; margin: 0; position: relative; z-index: 1; }
.strategy-node { min-height: 70px; display: flex; flex-direction: column; justify-content: center; position: relative; background: #f0f0e8; }
.strategy-node strong { font-size: 14px; line-height: 1.5; font-weight: 500; }
.strategy-node>span { display: block; font-size: 10px; line-height: 1.65; color: var(--muted); margin-top: 5px; }
.strategy-node:after { content: ''; position: absolute; width: 6px; height: 6px; background: var(--red); border-radius: 50%; top: calc(50% - 3px); }
.strategy-inputs .strategy-node { padding-right: 12px; }
.strategy-inputs .strategy-node:after { right: -3px; }
.strategy-outputs .strategy-node { padding-left: 12px; text-align: right; }
.strategy-outputs .strategy-node:after { left: -3px; }
.strategy-core { position: relative; z-index: 1; justify-self: center; width: min(112px,100%); aspect-ratio: 1; border: 1px solid #a36b70; border-radius: 50%; background: var(--paper); display: flex; flex-direction: column; align-items: center; justify-content: center; color: var(--red); box-shadow: 0 0 0 10px #f0f0e8; }
.strategy-core:before { content: ''; position: absolute; inset: -11px; border: 1px dashed #b7bcae; border-radius: 50%; }
.strategy-core strong { font: 19px/1.3 Georgia,var(--serif); letter-spacing: -.04em; white-space: nowrap; }
.strategy-core>span { font-size: 11px; line-height: 1.5; margin-top: 6px; letter-spacing: .04em; }
.strategy-process { margin-top: 46px; }
.strategy-tabs { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-top: 1px solid #b9beb2; }
.strategy-tab { padding: 20px 24px 22px; border-bottom: 2px solid transparent; position: relative; transition: background .2s,border-color .2s; }
.strategy-tab+.strategy-tab:before { content: ''; position: absolute; width: 1px; height: 52px; top: 22px; left: 0; background: var(--line); }
.strategy-tab:hover { background: #e8e9df; }
.strategy-tab[aria-selected=true] { background: #e7e7dc; border-bottom-color: var(--red); }
.strategy-tab:focus-visible { outline-offset: -5px; }
.strategy-step { display: flex; justify-content: space-between; color: var(--muted); font-size: 10px; line-height: 1; margin-bottom: 16px; }
.strategy-step>span { font-size: 15px; opacity: 0; transform: translate(-3px,3px); transition: opacity .2s,transform .2s; }
.strategy-tab:hover .strategy-step>span,.strategy-tab[aria-selected=true] .strategy-step>span { opacity: 1; transform: none; }
.strategy-tab[aria-selected=true] .strategy-step,.strategy-tab[aria-selected=true] .strategy-tab-title { color: var(--red); }
.strategy-tab-title { display: block; font-family: var(--serif); font-size: 25px; line-height: 1.4; }
.strategy-tab>small { display: block; margin-top: 8px; color: var(--muted); font-size: 9px; letter-spacing: .12em; }
.strategy-panels { background: #e7e7dc; }
.strategy-panel { display: grid; grid-template-columns: .8fr 1.2fr; gap: 8%; align-items: center; padding: 32px 36px; min-height: 180px; scroll-margin-top: 120px; }
.strategy-panel+.strategy-panel { border-top: 1px solid var(--line); }
.strategy-panel[hidden] { display: none; }
.strategy-panel h3 { font-family: var(--serif); font-size: 27px; font-weight: 400; line-height: 1.5; letter-spacing: -.02em; }
.strategy-panel p { color: #535d51; font-size: 15px; line-height: 1.9; max-width: 620px; }
.strategy-panel-note { display: block; margin-top: 15px; font-size: 11px; color: var(--red); letter-spacing: .03em; }
.strategy-closing { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 20px; font-size: 12px; color: var(--muted); }
.strategy-closing .text-link { font-size: 12px; color: var(--ink); }
@media(max-width:1100px) {
  .strategy-intro { gap: 5%; }
  .strategy-copy h2 { font-size: 39px; }
  .strategy-copy>p { font-size: 14px; }
  .strategy-tab { padding-inline: 18px; }
  .strategy-tab-title { font-size: 23px; }
  .strategy-panel { gap: 5%; padding: 28px; }
}
@media(max-width:760px) {
  .hero-strategy-link { font-size: 10px; min-height: 36px; gap: 8px; }
  .strategy-edition { font-size: 8px; letter-spacing: .08em; }
  .strategy-intro { display: block; margin-top: 34px; }
  .strategy-copy h2 { font-size: clamp(30px,7.9vw,38px); line-height: 1.5; }
  .strategy-copy>p { font-size: 14px; margin-top: 19px; }
  .strategy-map { margin-top: 30px; }
  .strategy-map-label { font-size: 9px; padding-bottom: 12px; }
  .strategy-map-foot { font-size: 10px; gap: 10px; flex-wrap: wrap; }
  .strategy-network { gap: 12px; }
  .strategy-node strong { font-size: 12px; }
  .strategy-node>span { font-size: 10px; }
  .strategy-inputs .strategy-node { padding-right: 9px; }
  .strategy-outputs .strategy-node { padding-left: 9px; }
  .strategy-core strong { font-size: 15px; }
  .strategy-core>span { font-size: 10px; }
  .strategy-process { margin-top: 30px; }
  .strategy-tabs { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .strategy-tab { padding: 18px 16px; }
  .strategy-tab:nth-child(3),.strategy-tab:nth-child(4) { border-top: 1px solid var(--line); }
  .strategy-tab:nth-child(3):before { display: none; }
  .strategy-tab+.strategy-tab:before { top: 18px; height: 50px; }
  .strategy-step { margin-bottom: 11px; }
  .strategy-tab-title { font-size: 21px; }
  .strategy-tab>small { font-size: 8px; margin-top: 6px; letter-spacing: .09em; }
  .strategy-panel { display: block; min-height: 254px; padding: 26px 22px; }
  .strategy-panel h3 { font-size: 24px; }
  .strategy-panel h3 br { display: none; }
  .strategy-panel p { margin-top: 14px; font-size: 14px; }
  .strategy-panel-note { font-size: 10px; margin-top: 16px; }
  .strategy-closing { font-size: 11px; gap: 12px; margin-top: 14px; }
  .strategy-closing .text-link { font-size: 11px; gap: 13px; }
}

.history{padding-top:116px;padding-bottom:126px}.history-heading{display:flex;justify-content:space-between;align-items:flex-start}.history-heading h2{width:73%;margin-top:-11px}.timeline{display:grid;grid-template-columns:repeat(3,1fr);margin-top:64px;margin-left:27%}.milestone-year{font-size:64px;line-height:1.2;letter-spacing:-.05em;font-family:Georgia,"Times New Roman",serif;font-weight:400;display:flex;align-items:center;gap:20px}.milestone-year>span{font-family:var(--sans);font-size:10px;color:#646d60;letter-spacing:.07em;padding-top:9px}.timeline-line{height:1px;background:var(--line);margin-top:31px;margin-bottom:32px;position:relative}.timeline-line i{position:absolute;left:0;top:-3px;width:7px;height:7px;background:var(--red);border-radius:50%}.milestone h3{font-size:16px;font-weight:400;margin-bottom:12px;letter-spacing:.015em}.milestone p{font-size:12px;color:#646d60}.milestone-future .milestone-year{font-family:var(--serif);font-size:52px;min-height:77px;letter-spacing:-.045em;color:var(--red)}.milestone-future .timeline-line{background:linear-gradient(90deg,var(--line),transparent)}.milestone-future .timeline-line i{background:var(--paper);border:1px solid var(--red);width:9px;height:9px;top:-4px}
.contact-invitation{background:#e9e9df;padding-top:80px;padding-bottom:80px;position:relative;overflow:hidden;min-height:435px}.invitation-copy{position:relative;z-index:1}.invitation-copy>.eyebrow{font-size:9px;color:#6f7769}.contact-invitation h2{margin-top:24px;font-size:clamp(36px,3.5vw,54px);line-height:1.5}.contact-invitation .text-link{margin-top:28px}.invitation-art{position:absolute;right:9%;top:30px;width:360px;height:360px;transform:rotate(-24deg);opacity:.8}.invitation-art>span{border:1px solid #aeb5a7;border-radius:50%;position:absolute;inset:0}.invitation-art>span:nth-child(2){inset:0 32px}.invitation-art>span:nth-child(3){inset:0 75px}.invitation-word{font-family:Georgia,serif;font-size:clamp(90px,12vw,200px);position:absolute;bottom:-.18em;right:3%;color:#d7dacd;letter-spacing:-.07em;line-height:1.1}.site-footer{background:var(--paper);padding-top:48px;padding-bottom:30px}.footer-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:35px;border-bottom:1px solid var(--line)}.footer-brand{display:block;flex-shrink:0}.footer-brand img{width:184px;height:auto}.back-top{font-size:11px;display:flex;align-items:center;gap:28px;min-height:44px}.back-top span{font-size:18px}.footer-bottom{display:flex;justify-content:space-between;align-items:flex-end;padding-top:27px;font-size:10px;color:#646d60}.footer-bottom p{line-height:1.8}.legal{margin-top:6px;color:#646d60;font-size:10px}.copyright{font-size:9px;letter-spacing:.08em;white-space:nowrap;margin-bottom:2px}
.contact-intro{padding-top:91px;padding-bottom:70px;display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.contact-intro .eyebrow{font-size:10px;letter-spacing:.14em}.contact-intro h1{font-size:clamp(42px,4.6vw,72px);line-height:1.5;margin-top:28px;white-space:nowrap}.contact-intro p{font-size:13px;color:#72796d;margin-bottom:12px}.contact-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:7%;padding-bottom:87px}.contact-details{border-top:1px solid var(--line)}.contact-row{display:grid;grid-template-columns:75px 1fr 20px;align-items:center;gap:20px;padding:30px 0;border-bottom:1px solid var(--line);min-height:121px}.contact-label{font-size:12px;letter-spacing:.02em;display:block;flex-shrink:0}.contact-label small{display:block;font-size:8px;color:#646d60;letter-spacing:.12em;margin-top:7px}.contact-value{font-family:Georgia,serif;font-size:clamp(23px,2.3vw,36px);letter-spacing:-.025em;overflow-wrap:anywhere}.contact-value.email{font-size:clamp(20px,1.9vw,30px)}.contact-row-arrow{font-size:23px;font-family:var(--sans);transition:transform .25s,color .25s}.contact-row:hover .contact-value,.contact-row:hover .contact-row-arrow{color:var(--red)}.contact-row:hover .contact-row-arrow{transform:translate(3px,-3px)}.contact-address{display:grid;grid-template-columns:75px 1fr;gap:20px;padding-top:32px}address{font-style:normal;font-size:15px;line-height:2}.postal{font-size:10px;color:#646d60;display:block;margin-top:12px;letter-spacing:.07em}.copy-address{border:0;background:none;padding:0;font-size:11px;gap:15px;margin-top:13px;min-height:44px;color:var(--red)}.copy-address:hover{text-decoration:underline;text-underline-offset:5px}.copy-status{font-size:11px;color:var(--red);min-height:22px}.contact-photo{position:relative;min-height:430px;background:#d8d9d0;overflow:hidden}.contact-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:53% center;filter:saturate(.45)}.contact-photo:after{content:"";position:absolute;inset:70% 0 0;background:linear-gradient(transparent,#0007)}.contact-photo figcaption{position:absolute;z-index:1;bottom:24px;left:26px;right:26px;display:flex;justify-content:space-between;align-items:center;color:white;font-size:11px}.contact-photo figcaption>span:last-child{font-size:8px;letter-spacing:.12em}.contact-photo .status-dot{background:#e0b6b1}.contact-closing{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding-top:32px;padding-bottom:32px}.contact-closing>span{font-family:var(--serif);font-size:26px;letter-spacing:-.03em}.contact-closing .text-link{font-size:11px}.contact-page .site-footer{background:#edeee5}
.will-reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.will-reveal.is-visible{opacity:1;transform:none}
@media(min-width:1800px){:root{--gutter:max(6.25vw,calc((100vw - 1580px)/2))}.hero-copy,.hero-top,.hero-bottom{left:calc(var(--gutter) - 22px)}.hero{max-width:2000px;margin-inline:auto}.philosophy-bottom p{max-width:520px;font-size:16px}}
@media(max-width:1100px){:root{--gutter:5vw}.site-header{height:88px;padding:0 4vw}.hero{margin:0 16px;height:calc(100svh - 158px);min-height:600px;max-height:740px}.hero-image{object-position:90% center}.hero-copy{left:5vw}.hero h1{font-size:clamp(52px,6.5vw,70px)}.hero-copy>p{font-size:13px}.section-pad{padding-top:90px;padding-bottom:90px}.philosophy{grid-template-columns:25% 1fr}.philosophy-bottom{gap:35px}.approach-grid{gap:6%;grid-template-columns:.95fr 1.05fr}.method-title{font-size:28px}.method summary{grid-template-columns:25px 1fr 20px;gap:12px}.method-content{padding-left:37px;padding-right:0}.method-content p{font-size:16px}.history-heading h2{width:75%}.timeline{margin-left:25%}.milestone-year{font-size:55px;gap:10px}.milestone-future .milestone-year{font-size:44px;min-height:66px}.contact-intro{align-items:flex-start}.contact-intro h1{font-size:48px}.contact-intro p{margin-top:59px}.contact-layout{gap:5%;grid-template-columns:1.12fr 1fr}.contact-row{grid-template-columns:50px 1fr 20px;gap:13px}.contact-address{grid-template-columns:50px 1fr;gap:13px}address{font-size:13px}.contact-photo figcaption{display:block}.contact-photo figcaption>span:last-child{display:block;margin-top:8px;margin-left:16px}}
@media(max-width:760px){:root{--gutter:24px}html{scroll-padding-top:85px}.site-header{height:80px;padding:0 24px}.brand-logo{width:164px}.main-nav{gap:24px}.main-nav>a{font-size:12px;gap:0}.nav-arrow{display:none}.hero{margin:0 12px;height:760px;min-height:0;max-height:none;background:#dfd9cf}.hero-image{object-position:95% bottom;inset:auto 0 0;height:64%;object-fit:cover}.hero-shade{background:linear-gradient(180deg,#e1dcd3 0%,#e1dcd3 38%,rgba(225,220,211,.5) 50%,transparent 65%)}.hero-top{top:25px;left:24px;right:24px}.hero-top .eyebrow{font-size:9px}.hero-side-label{display:none}.hero-copy{left:24px;right:24px;top:92px;transform:none}.hero h1{font-size:clamp(47px,8.6vw,63px);line-height:1.25;letter-spacing:-.06em}.hero h1 span{padding-left:.64em}.hero-copy>p{margin-top:20px;font-size:12px;line-height:1.9;margin-left:0}.hero-link{margin-top:18px;margin-left:0;font-size:11px;gap:25px}.hero-link .circle-arrow{width:33px;height:33px;font-size:16px}.hero-bottom{left:24px;right:24px;bottom:20px;font-size:8px}.hero-bottom>span:first-child{color:#f6f5f0;text-shadow:0 1px 4px #000}.hero-bottom>span:last-child{display:none}.hero-caption{height:67px;font-size:10px}.caption-right{display:none}.section-pad{padding-top:70px;padding-bottom:70px}.section-kicker{font-size:11px;gap:18px}.section-kicker small{font-size:8px;margin-top:4px}.section-number{font-size:9px}.philosophy{display:block}.philosophy-main{margin-top:40px}.philosophy-main h2{font-size:37px;line-height:1.55;letter-spacing:-.05em;margin-top:0}.philosophy-bottom{display:block;margin-top:25px}.philosophy-bottom p{font-size:13px;max-width:490px;line-height:2}.value-signature{flex-direction:row;margin-top:31px;padding:24px 0 0;border-left:0;border-top:1px solid var(--line);font-size:11px;justify-content:flex-start;gap:29px}.approach-top{display:block}.section-aside{display:none}.approach-grid{display:flex;flex-direction:column;gap:36px;margin-top:37px}.approach-visual{display:flex;justify-content:space-between;align-items:center}.approach h2{font-size:36px;line-height:1.45;flex-shrink:0;position:relative;z-index:1}.approach-visual{position:relative}.approach-visual .research-diagram{position:absolute;right:-50px;opacity:.22}.research-diagram{width:160px;height:160px;margin:0 -40px 0 0;opacity:.45;transform:scale(.55);transform-origin:left center;flex-shrink:0}.orbit-macro{width:250px;height:250px}.orbit-industry{width:185px;height:185px}.orbit-company{width:115px;height:115px}.research-orbit>span{font-size:17px}.research-orbit small{font-size:10px}.method-list{margin-top:0}.method summary{padding:26px 0;grid-template-columns:26px 1fr 22px;gap:13px;min-height:90px}.method-title{font-size:25px}.method-title small{font-size:10px;margin-top:10px}.method-content{padding:0 10px 25px 39px}.method-content p{font-size:15px;line-height:1.9}.method-content p br{display:none}.method-tag{font-size:11px;margin-top:20px}.approach-note{font-size:12px;margin-top:22px}.history-heading{display:block}.history-heading h2{font-size:37px;width:100%;margin-top:35px;line-height:1.55}.timeline{margin:40px 0 0;display:block;border-left:1px solid var(--line)}.milestone{position:relative;display:grid;grid-template-columns:95px 1fr;padding:0 0 36px 25px;column-gap:20px;align-items:center}.milestone-year{grid-row:1/3;display:block;font-size:36px;align-self:start;line-height:1.1;padding-top:1px}.milestone-year>span{display:block;font-size:8px;margin-top:8px;padding:0}.timeline-line{position:absolute;left:0;top:10px;width:0;height:0;margin:0}.timeline-line i{left:-4px;top:0}.milestone h3{font-size:14px;margin-bottom:7px;line-height:1.4}.milestone p{font-size:11px;line-height:1.85}.milestone:last-child{padding-bottom:0}.milestone-future .milestone-year{font-size:33px;min-height:0;line-height:1.2}.milestone-future .timeline-line i{left:-5px;top:0}.contact-invitation{padding-top:60px;padding-bottom:60px;min-height:390px}.contact-invitation h2{font-size:36px;margin-top:24px;line-height:1.55}.invitation-copy>.eyebrow{font-size:8px}.contact-invitation .text-link{font-size:12px;gap:27px;margin-top:23px}.invitation-art{width:240px;height:240px;right:-118px;top:80px;opacity:.55}.invitation-word{font-size:106px;bottom:-16px;right:20px}.site-footer{padding-top:35px;padding-bottom:25px}.footer-top{padding-bottom:22px}.footer-brand img{width:152px}.back-top{font-size:10px;gap:18px}.footer-bottom{display:block;padding-top:22px;font-size:9px}.legal{font-size:9px;line-height:1.8;max-width:280px}.copyright{display:block;margin-top:22px;font-size:8px}.contact-intro{padding-top:48px;padding-bottom:39px;display:block}.contact-intro .eyebrow{font-size:9px}.contact-intro h1{font-size:clamp(34px,7.5vw,48px);margin-top:25px;white-space:normal;line-height:1.5}.contact-intro p{font-size:12px;line-height:1.9;margin-top:20px;margin-bottom:0}.contact-layout{display:flex;flex-direction:column;gap:30px;padding-bottom:42px}.contact-row{grid-template-columns:52px 1fr 18px;gap:15px;padding:25px 0;min-height:98px}.contact-label{font-size:11px}.contact-label small{font-size:7px}.contact-value.phone{font-size:29px}.contact-value.email{font-size:23px}.contact-row-arrow{font-size:20px}.contact-address{grid-template-columns:52px 1fr;gap:15px;padding-top:27px}address{font-size:13px;line-height:2}.postal{font-size:9px}.copy-address{margin-top:10px}.contact-photo{min-height:340px}.contact-photo img{object-position:center}.contact-photo figcaption{display:flex;left:20px;right:20px;font-size:10px}.contact-photo figcaption>span:last-child{margin:0;font-size:7px}.contact-closing{padding-top:23px;padding-bottom:23px;gap:20px;flex-wrap:wrap}.contact-closing>span{font-size:24px}.contact-closing .text-link{font-size:10px;min-height:36px}}
@media(max-width:390px){.site-header{padding:0 18px}.main-nav{gap:17px}.brand-logo{width:148px}.hero{height:715px}.hero-copy{left:20px}.hero h1{font-size:46px}.hero-top,.hero-bottom{left:20px;right:20px}.approach-visual{overflow:hidden}.research-diagram{display:none}.contact-value.phone{font-size:26px}.contact-value.email{font-size:21px}.contact-photo figcaption>span:last-child{display:none}.contact-intro h1{font-size:34px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.will-reveal{opacity:1;transform:none}}

@media(max-width:480px){.approach-visual .research-diagram{display:none}}
