:root{
  color-scheme:light;
  --paper:#f3f0e8;
  --surface:#fcfbf6;
  --ink:#1e302b;
  --muted:#5c6862;
  --line:#c8cdc2;
  --green:#286650;
  --orange:#a94427;
  --connector:#62806f;
  --card-gap:14px;
  --connector-height:36px;
  font:14px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);
  background:var(--paper);
}
*{box-sizing:border-box}
body{margin:0}
a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}
a:focus-visible,summary:focus-visible{outline:3px solid var(--green);outline-offset:4px}
svg{display:block}
h1,h2,h3,p{margin:0}
h1,h2{font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-weight:400;line-height:1.2}
h1{font-size:26px;letter-spacing:-.025em}
h2{font-size:22px}
small{font-size:12px}
.overline{font:12px/1.4 ui-monospace,SFMono-Regular,monospace;color:var(--muted)}
.skip-link{position:fixed;top:-80px;left:16px;z-index:20;padding:10px;background:var(--surface)}
.skip-link:focus{top:12px}
.landing-shell{max-width:1440px;margin:0 auto;padding:0 clamp(16px,2.5vw,36px);display:flex;flex-direction:column}
.landing-main{flex:1;display:flex;flex-direction:column}
.landing-intro{padding:16px 0 12px}
.landing-intro p{margin-top:5px;color:var(--muted)}

/* The foundation and shared geometry entry frame the three research directions. */
.study-section{flex:1;display:grid;grid-template-rows:1fr var(--connector-height) 1fr var(--connector-height) 1fr}
.foundation{display:flex;flex-direction:column;justify-content:center;gap:10px;padding:16px 18px;background:#e4ebdf;border:1px solid #bdccb9;border-radius:5px}
.foundation:hover{background:#dae5d4}
.foundation h2{font-size:20px;margin-top:2px}
.foundation-cta{margin-left:auto;font-size:13px;flex-shrink:0}
.foundation-cta b{margin-left:6px}
.distinction-mark{width:50px;height:36px;position:relative;flex-shrink:0}
.distinction-mark i{position:absolute;width:36px;height:36px;top:0;border:1px solid var(--green);border-radius:50%;background:#28665010}
.distinction-mark i+i{left:14px;border-style:dashed}
.map-branches{height:var(--connector-height);position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--card-gap)}
.map-branches:before{content:"";position:absolute;top:calc(50% - 1px);left:calc((100% - 2 * var(--card-gap)) / 6);right:calc((100% - 2 * var(--card-gap)) / 6);border-top:2px solid var(--connector)}
.map-branches:after{content:"";position:absolute;top:0;left:calc(50% - 1px);width:2px;height:50%;background:var(--connector)}
.map-branches i{position:relative;width:2px;background:var(--connector);height:50%;align-self:end;justify-self:center}
.map-branches i:after{content:"";position:absolute;bottom:-3px;left:-2px;width:6px;height:6px;background:var(--connector);border-radius:50%}
.converge{transform:rotate(180deg)}
.study-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--card-gap)}
.study-card{display:grid;grid-template-columns:minmax(0,1fr) 110px;grid-template-rows:auto 1fr auto;min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:5px;overflow:hidden;transition:border-color .15s}
.study-card:hover{border-color:var(--green)}
.study-card header{grid-column:1/-1;padding:10px 14px 0}
.study-card h2{font-size:20px}
.study-visual{grid-column:2;grid-row:2;min-width:0;padding:4px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.study-visual svg{width:100%;height:44px;overflow:visible}
.study-visual path{fill:none;stroke:var(--green);stroke-width:1.5}
.study-visual circle{fill:var(--surface);stroke:var(--green);stroke-width:1.5}
.study-visual text{font:12px system-ui;fill:var(--green);text-anchor:middle}
.study-visual .equals{font-size:24px}
.study-visual code{font-size:12px;color:var(--muted);text-align:center;overflow-wrap:anywhere}
.study-visual strong{font:18px Georgia,serif;color:var(--green)}
.study-visual strong small{font:12px system-ui;color:var(--muted)}
.study-visual .muted{opacity:.4}
.study-visual .blocked circle{fill:var(--paper);stroke:var(--orange)}
.study-visual .blocked path{stroke:var(--orange)}
.motif-visual .feature circle{fill:#dae5d4}
.motif-visual g>path{marker-end:url(#landing-arrow)}
.motif-visual marker path{fill:var(--green);stroke:none}
.card-copy{grid-column:1;grid-row:2;align-self:center;padding:8px 14px;font-size:13px;color:var(--muted)}
.study-card footer{grid-column:1/-1;grid-row:3;border-top:1px solid var(--line);padding:6px 14px;display:flex;justify-content:space-between;font-size:13px}
.geometry-entry{display:flex;flex-direction:column;justify-content:center;gap:10px;padding:16px 18px;background:#eee1d3;border:1px solid #ccad96;border-radius:5px}
.geometry-entry:hover{background:#eadbca}
.geometry-route{margin-left:auto;display:flex;gap:8px;justify-content:flex-end;align-items:center;flex-wrap:wrap;font:12px/1.5 ui-monospace,SFMono-Regular,monospace;margin-bottom:0}
.geometry-route i{font-style:normal;color:var(--orange)}

a>.ui-icon{display:inline-block;width:14px;height:14px;vertical-align:-2px}


.direction-heading{display:flex;align-items:center;gap:14px;width:100%}
.direction-intro{color:var(--muted);font-size:13px;max-width:960px}
.direction-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;width:100%;padding-top:10px;border-top:1px solid #28665026}
.direction-details h3{font:600 13px/1.4 system-ui,sans-serif;margin-bottom:4px}
.direction-details p{font-size:13px;line-height:1.5;color:var(--muted)}
.geometry-entry .direction-details{border-color:#a9442726}
.geometry-cta{font-size:13px;font-weight:600;color:var(--orange);white-space:nowrap}
.geometry-cta b{margin-left:6px}
@media(min-width:701px) and (max-height:950px){
 .foundation,.geometry-entry{padding:12px 16px;gap:7px}
 .direction-heading .overline{display:none}
 .direction-details{gap:18px;padding-top:7px}
 .study-card header{padding-top:8px}
 .study-visual svg{display:none}
}
@media(min-width:701px) and (max-height:850px){
 .landing-intro{padding:12px 0 10px}
 .landing-intro h1{font-size:24px}
 .landing-intro p{font-size:13px;margin-top:4px}
 .foundation,.geometry-entry{padding:10px 16px;gap:5px}
 .distinction-mark{height:30px;width:44px}
 .distinction-mark i{width:30px;height:30px}
 .direction-intro,.direction-details p{font-size:12px;line-height:1.4}
 .direction-details{padding-top:5px}
 .direction-details h3{font-size:12px;margin-bottom:3px}
}
@media(max-width:1000px){
 .geometry-route{display:none}
 .geometry-cta{margin-left:auto}
 .direction-details{gap:16px}
}
@media(min-width:701px) and (max-width:1100px) and (max-height:850px){
 .study-card{grid-template-columns:minmax(0,1fr)}
 .study-visual{display:none}
}
@media(min-width:701px) and (max-width:1000px) and (min-height:851px){
 .foundation,.geometry-entry{padding:14px 16px}
}
@media(max-width:700px){
 .landing-intro{padding:16px 0 12px}
 h1{font-size:25px}
 .study-section{flex:none;grid-template-rows:auto 28px auto 28px auto}
 .foundation,.geometry-entry{padding:14px;gap:12px}
 .direction-heading{flex-wrap:wrap;gap:6px 12px}
 .foundation-cta{width:100%;margin:4px 0 0}
 .distinction-mark{width:40px;height:30px}
 .distinction-mark i{width:30px;height:30px}
 .distinction-mark i+i{left:10px}
 .direction-details{grid-template-columns:1fr;gap:10px;padding-top:12px}
 .direction-details h3{margin-bottom:2px}
 .map-branches{height:28px;display:block;background:linear-gradient(var(--connector),var(--connector)) center/2px 100% no-repeat}
 .map-branches:before,.map-branches:after,.map-branches i{display:none}
 .study-grid{grid-template-columns:1fr;grid-auto-rows:1fr;gap:14px}
 .study-card{grid-template-columns:minmax(0,1fr) 132px}
 .study-card header{grid-column:1;padding-top:12px}
 .study-visual{grid-row:1/3;padding:10px}
 .study-visual svg{height:60px}
 .card-copy{align-self:start;padding-top:6px;padding-bottom:12px}
 .study-card footer{grid-column:1/-1;padding-top:7px;padding-bottom:7px}
 .geometry-cta{width:100%;margin:4px 0 0}
}
@media(max-width:380px){
 .study-card{grid-template-columns:minmax(0,1fr) 104px}
 .study-visual{padding:8px}
 .study-card h2{font-size:19px}
}
@media(prefers-reduced-motion:reduce){
 *{scroll-behavior:auto!important;transition:none!important}
}
