:root{
  --cedar:#211b18;
  --cedar-2:#302723;
  --ivory:#f6f2e8;
  --paper:#fffdf8;
  --silver:#d8dcdd;
  --ultra:#3157c7;
  --moss:#dce3c8;
  --amber:#c98a43;
  --cyan:#70d9df;
  --muted:#6d716f;
  --line:rgba(33,27,24,.14);
  --shadow:0 26px 70px rgba(33,27,24,.12);
  --max:1260px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:
    linear-gradient(rgba(33,27,24,.022) 1px,transparent 1px),
    linear-gradient(90deg,rgba(33,27,24,.022) 1px,transparent 1px),
    var(--ivory);
  background-size:32px 32px;
  color:var(--cedar);
  font-family:Arial,Helvetica,sans-serif;
  line-height:1.55;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{display:block;width:100%;height:auto}
a{color:inherit}
.container{width:min(calc(100% - 34px),var(--max));margin-inline:auto}
.skip-link{position:absolute;left:-9999px;top:1rem;z-index:9999;background:var(--cedar);color:#fff;padding:.8rem 1rem}
.skip-link:focus{left:1rem}
.section{padding:96px 0}
.ref{
  display:inline-flex;align-items:center;gap:10px;
  font-family:"Courier New",monospace;
  font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--ultra)
}
.ref::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 4px rgba(112,217,223,.14)}
.meta{
  font-family:"Courier New",monospace;font-size:.63rem;text-transform:uppercase;
  letter-spacing:.1em;color:var(--muted)
}
h1,h2,h3{
  margin:0;font-family:Arial,Helvetica,sans-serif;font-weight:900;line-height:.9;letter-spacing:-.055em
}
h1{font-size:clamp(4.6rem,9.6vw,9.3rem)}
h2{font-size:clamp(3rem,5.8vw,5.5rem)}
h3{font-size:clamp(1.45rem,2vw,2rem)}
p{margin:0}
.lede{font-size:clamp(1.05rem,1.55vw,1.2rem);color:var(--muted);max-width:700px}
.cta{
  display:inline-flex;align-items:center;gap:10px;
  padding:13px 17px;border:1px solid var(--cedar);background:var(--cedar);color:#fff;
  text-decoration:none;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.09em;
  box-shadow:8px 8px 0 rgba(49,87,199,.18)
}
.cta::after{content:"→"}
.cta:hover{background:var(--ultra);box-shadow:10px 10px 0 rgba(49,87,199,.24)}

.site-header{
  position:sticky;top:0;z-index:100;
  background:rgba(246,242,232,.96);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--cedar)
}
.top-rail{
  min-height:28px;background:var(--cedar);color:#fff;
  font-family:"Courier New",monospace;font-size:.58rem;text-transform:uppercase;letter-spacing:.1em
}
.top-rail .container{min-height:28px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.masthead{
  min-height:78px;display:grid;grid-template-columns:220px 1fr auto;gap:24px;align-items:center
}
.brand{
  text-decoration:none;text-transform:uppercase;display:grid;grid-template-columns:18px 1fr;gap:10px;align-items:center
}
.brand-axis{width:18px;height:44px;border:1px solid var(--cedar);position:relative}
.brand-axis::before{content:"";position:absolute;left:4px;right:4px;top:6px;height:8px;background:var(--amber);box-shadow:0 12px 0 var(--ultra),0 24px 0 var(--cyan)}
.brand strong{display:block;font-size:1rem;letter-spacing:-.04em}
.brand small{display:block;font-family:"Courier New",monospace;font-size:.56rem;letter-spacing:.13em;color:var(--muted)}
.research-nav{display:flex;justify-content:center;gap:2px;flex-wrap:wrap}
.research-nav a{
  text-decoration:none;padding:8px 10px;font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;
  position:relative
}
.research-nav a::after{
  content:"";position:absolute;left:50%;bottom:0;width:7px;height:7px;border-radius:50%;background:transparent;transform:translateX(-50%)
}
.research-nav a:hover::after,.research-nav a:focus-visible::after{background:var(--cyan);outline:none}
.location-chip{
  font-family:"Courier New",monospace;font-size:.61rem;letter-spacing:.08em;text-transform:uppercase;
  border-left:1px solid var(--line);padding-left:16px;color:var(--muted)
}

.hero{padding:36px 0 82px;position:relative}
.hero-stage{
  min-height:760px;position:relative;perspective:1400px
}
.hero-copy{
  position:absolute;left:0;bottom:0;width:58%;
  z-index:5;padding:18px 0 12px;
  background:linear-gradient(90deg,var(--ivory) 0 84%,transparent)
}
.hero-title span{display:block}
.hero-title .blue{color:var(--ultra)}
.hero-copy .lede{margin-top:20px;max-width:590px}
.hero-bottom{margin-top:32px;display:flex;justify-content:space-between;align-items:end;gap:22px}
.vertical-id{
  position:absolute;left:-34px;top:70px;writing-mode:vertical-rl;transform:rotate(180deg);
  font-family:"Courier New",monospace;font-size:.61rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)
}
.orbit-shell{
  position:absolute;right:2%;top:3%;width:56%;height:82%;
}
.orbit{
  position:absolute;border:1px solid rgba(49,87,199,.28);border-radius:50%;
}
.o1{inset:5%}
.o2{inset:15% 11%}
.o3{inset:25% 20%}
.orbit::before{
  content:"";position:absolute;width:13px;height:13px;border-radius:50%;background:var(--cyan);
  top:16%;right:10%;box-shadow:0 0 0 5px rgba(112,217,223,.12)
}
.orbit-core{
  position:absolute;left:38%;top:34%;width:150px;height:150px;border-radius:50%;
  background:radial-gradient(circle at 35% 35%,#fff 0 8%,var(--amber) 9% 58%,#8d5825 59%);
  box-shadow:0 25px 55px rgba(33,27,24,.18)
}
.primary-plane{
  position:absolute;right:6%;top:10%;width:44%;height:58%;
  border:1px solid var(--cedar);background:#ddd;overflow:hidden;
  transform:rotateY(-7deg) rotateX(2deg);
  box-shadow:var(--shadow)
}
.primary-plane img{width:100%;height:100%;object-fit:cover}
.secondary-plane{
  position:absolute;right:38%;top:24%;width:28%;height:34%;
  border:1px solid var(--cedar);background:var(--paper);padding:10px;
  transform:rotateY(8deg) rotateX(-3deg) rotate(-2deg);
  box-shadow:0 20px 50px rgba(33,27,24,.12)
}
.secondary-plane img{width:100%;height:100%;object-fit:cover}
.hero-card{
  position:absolute;right:7%;bottom:4%;width:270px;min-height:170px;
  background:rgba(255,253,248,.9);border:1px solid var(--cedar);padding:18px;
  display:flex;flex-direction:column;justify-content:space-between;
  box-shadow:10px 10px 0 rgba(49,87,199,.12)
}

.orientation{background:var(--cedar);color:#fff;padding:0}
.orientation-grid{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid rgba(255,255,255,.18)}
.orientation a{
  min-height:128px;padding:16px;border-right:1px solid rgba(255,255,255,.18);
  text-decoration:none;display:flex;flex-direction:column;justify-content:space-between
}
.orientation .num{font-family:"Courier New",monospace;color:var(--cyan)}
.orientation span:last-child{color:rgba(255,255,255,.62);font-size:.88rem}
.orientation a:hover{background:rgba(255,255,255,.05)}

.fields{background:var(--paper)}
.field-orbit{
  margin-top:40px;min-height:670px;position:relative;display:grid;place-items:center;overflow:hidden
}
.field-ring{
  position:absolute;border:1px solid rgba(33,27,24,.14);border-radius:50%
}
.fr1{width:620px;height:620px}
.fr2{width:430px;height:430px}
.fr3{width:250px;height:250px}
.field-centre{
  width:360px;min-height:220px;background:var(--ivory);border:1px solid var(--cedar);
  padding:24px;display:flex;flex-direction:column;justify-content:space-between;z-index:2
}
.field-node{
  position:absolute;width:190px;min-height:130px;border:1px solid var(--cedar);
  background:rgba(255,253,248,.94);padding:15px;z-index:3;
  box-shadow:8px 8px 0 rgba(33,27,24,.04)
}
.field-node p{font-size:.85rem;color:var(--muted);margin-top:5px}
.fn1{left:4%;top:18%}.fn2{right:4%;top:12%}.fn3{left:10%;bottom:14%}.fn4{right:8%;bottom:16%}.fn5{left:44%;top:3%}.fn6{left:45%;bottom:2%}
.field-node .code{font-family:"Courier New",monospace;color:var(--ultra);font-size:.6rem}

.studies{background:var(--silver)}
.study-grid{
  display:grid;grid-template-columns:1.15fr .78fr .9fr;
  grid-template-rows:290px 230px 270px;gap:12px;margin-top:34px
}
.study{position:relative;overflow:hidden;border:1px solid var(--cedar);background:var(--paper)}
.study img{width:100%;height:100%;object-fit:cover}
.st1{grid-row:1/3}.st2{grid-column:2/4}.st5{grid-column:1/3}
.study-label{
  position:absolute;left:10px;bottom:10px;background:rgba(246,242,232,.95);
  border:1px solid var(--cedar);padding:8px 9px
}
.study-label span{display:block;font-family:"Courier New",monospace;font-size:.58rem;color:var(--ultra)}
.study-label strong{font-size:.9rem}

.materials{background:var(--moss)}
.material-orbit{
  margin-top:34px;display:grid;grid-template-columns:1.2fr .8fr;gap:18px;align-items:start
}
.material-stage{
  min-height:620px;position:relative;border:1px solid var(--cedar);background:rgba(255,255,255,.28);overflow:hidden
}
.material-ring{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:470px;height:470px;border:1px solid rgba(33,27,24,.2);border-radius:50%
}
.mat{
  position:absolute;width:150px;min-height:150px;border:1px solid var(--cedar);background:var(--paper);
  padding:13px;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center
}
.mat::before{content:"";width:66px;height:66px;border-radius:50%;margin-bottom:10px;border:1px solid var(--line)}
.m1{left:7%;top:12%}.m1::before{background:linear-gradient(135deg,#5f4636,#a77755)}
.m2{right:8%;top:10%}.m2::before{background:linear-gradient(135deg,#aeb4b8,#f5f7f8,#777e82)}
.m3{left:14%;bottom:10%}.m3::before{background:linear-gradient(135deg,rgba(255,255,255,.5),rgba(180,220,225,.7))}
.m4{right:12%;bottom:11%}.m4::before{background:linear-gradient(135deg,#f6f0e1,#c7bfae)}
.m5{left:39%;top:38%}.m5::before{background:linear-gradient(135deg,#b9aa8f,#e0d7c7)}
.material-list{border-top:1px solid var(--cedar)}
.material-line{padding:18px 0;border-bottom:1px solid var(--cedar);display:grid;grid-template-columns:100px 1fr;gap:20px}
.material-line span{font-family:"Courier New",monospace;color:var(--ultra);font-size:.62rem}
.material-line p{color:var(--muted);margin-top:4px}

.method{background:var(--cedar);color:#fff}
.loop-wrap{margin-top:40px;min-height:650px;position:relative;display:grid;place-items:center}
.loop{
  width:540px;height:540px;border:1px solid rgba(255,255,255,.25);border-radius:50%;position:relative
}
.loop::before,.loop::after{
  content:"";position:absolute;border:1px solid rgba(255,255,255,.12);border-radius:50%
}
.loop::before{inset:70px}.loop::after{inset:150px}
.loop-centre{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:240px;text-align:center
}
.loop-centre h3{font-size:2.6rem}
.loop-centre p{color:rgba(255,255,255,.64);margin-top:10px}
.node{
  position:absolute;width:150px;min-height:100px;background:var(--ivory);color:var(--cedar);
  border:1px solid var(--cyan);padding:13px
}
.node .num{font-size:1.8rem;font-weight:900;color:var(--ultra)}
.node p{font-size:.82rem;color:var(--muted)}
.n1{left:50%;top:-30px;transform:translateX(-50%)}.n2{right:-70px;top:22%}.n3{right:-45px;bottom:16%}
.n4{left:50%;bottom:-35px;transform:translateX(-50%)}.n5{left:-55px;bottom:18%}.n6{left:-70px;top:22%}

.object-system{display:grid;grid-template-columns:1fr 1fr}
.half{
  min-height:560px;padding:60px 48px;display:flex;flex-direction:column;justify-content:space-between
}
.object-half{background:var(--amber);color:var(--cedar)}
.system-half{background:var(--ultra);color:#fff}
.half-word{font-size:clamp(5rem,11vw,10rem);line-height:.78;letter-spacing:-.075em;font-weight:900}
.half-list{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid currentColor}
.half-list span{padding:12px 0;border-bottom:1px solid currentColor;text-transform:uppercase;font-weight:900;font-size:.8rem}
.object-half p{color:#5b4538}.system-half p{color:rgba(255,255,255,.68)}

.workspace{background:var(--paper)}
.workspace-grid{
  display:grid;grid-template-columns:.82fr 1.18fr;gap:44px;align-items:start
}
.workspace-copy .lede{margin-top:18px}
.workspace-photos{
  display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:310px 250px;gap:12px
}
.workspace-photos figure{margin:0;position:relative;overflow:hidden;border:1px solid var(--cedar)}
.workspace-photos img{width:100%;height:100%;object-fit:cover}
.ws1{grid-row:1/3}.ws2{grid-column:2}.ws3{grid-column:2}
.workspace-photos figcaption{
  position:absolute;left:10px;bottom:10px;background:var(--ivory);border:1px solid var(--cedar);
  padding:7px 8px;font-family:"Courier New",monospace;font-size:.58rem
}

.principles{background:var(--ivory)}
.principle-list{margin-top:34px;border-top:1px solid var(--cedar)}
.principle{
  display:grid;grid-template-columns:90px 1fr 300px;gap:24px;align-items:center;
  padding:22px 0;border-bottom:1px solid var(--cedar);position:relative
}
.principle .orbit-dot{
  width:34px;height:34px;border-radius:50%;border:1px solid var(--ultra);display:grid;place-items:center;
  font-family:"Courier New",monospace;font-size:.58rem;color:var(--ultra)
}
.principle strong{font-size:clamp(2.4rem,4.8vw,4.8rem);line-height:.9;letter-spacing:-.055em}
.principle p{color:var(--muted)}

.journal{background:var(--silver)}
.journal-grid{display:grid;grid-template-columns:1.25fr .85fr .85fr;gap:12px;margin-top:34px}
.entry{
  min-height:270px;border:1px solid var(--cedar);padding:20px;background:var(--paper);
  display:flex;flex-direction:column;justify-content:space-between
}
.entry:first-child{background:var(--moss)}
.entry:nth-child(2){background:#ece8ff}
.entry:nth-child(3){background:#f2e5d8}
.entry p{color:var(--muted);margin-top:8px}

.location{background:var(--cedar);color:#fff;position:relative;overflow:hidden}
.location::before{
  content:"";position:absolute;right:-110px;top:-120px;width:520px;height:520px;border-radius:50%;
  border:1px solid rgba(255,255,255,.12);box-shadow:0 0 0 80px rgba(255,255,255,.03),0 0 0 160px rgba(255,255,255,.02)
}
.location-grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr 390px;gap:50px;align-items:end}
.location-title{
  font-size:clamp(5rem,11vw,10.5rem);line-height:.78;letter-spacing:-.075em;font-weight:900
}
.location-card{
  min-height:350px;background:var(--ivory);color:var(--cedar);border:1px solid var(--cyan);padding:26px;
  display:flex;flex-direction:column;justify-content:space-between;position:relative
}
.location-card::before{
  content:"";width:70px;height:70px;border-radius:50%;border:1px solid var(--ultra);
  box-shadow:0 0 0 10px rgba(49,87,199,.08)
}
.location-card address{font-style:normal;font-size:1.04rem}
.location-card .meta{color:var(--ultra)}

.site-footer{background:#171311;color:#fff;padding:52px 0 20px;position:relative;overflow:hidden}
.site-footer::after{
  content:"";position:absolute;right:-80px;bottom:-130px;width:380px;height:380px;border-radius:50%;
  border:1px solid rgba(112,217,223,.22);box-shadow:0 0 0 50px rgba(112,217,223,.03)
}
.colophon{
  position:relative;z-index:2;display:grid;grid-template-columns:1.35fr .65fr;gap:46px;
  border-top:1px solid rgba(255,255,255,.22);padding-top:20px
}
.footer-brand{
  font-size:clamp(4rem,8vw,7.8rem);line-height:.78;letter-spacing:-.07em;font-weight:900;text-transform:uppercase
}
.footer-brand small{
  display:block;margin-top:18px;font-family:"Courier New",monospace;font-size:.14em;
  letter-spacing:.13em;color:var(--cyan)
}
.footer-index{
  display:grid;grid-template-columns:1fr 1fr;border-left:1px solid rgba(255,255,255,.2)
}
.footer-index div{padding:11px 13px;border-right:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14)}
.footer-index a{text-decoration:none}
.footer-index span{display:block;font-family:"Courier New",monospace;font-size:.58rem;color:var(--cyan);margin-bottom:3px}
.footer-bottom{
  position:relative;z-index:2;margin-top:28px;padding-top:14px;border-top:1px solid rgba(255,255,255,.16);
  display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
  font-family:"Courier New",monospace;font-size:.63rem;text-transform:uppercase;letter-spacing:.07em;color:rgba(255,255,255,.5)
}

.legal-hero{padding:82px 0 46px;background:var(--silver);border-bottom:1px solid var(--cedar)}
.legal-hero h1{font-size:clamp(3.8rem,7vw,7rem)}
.legal-hero .lede{margin-top:18px}
.legal-layout{display:grid;grid-template-columns:250px minmax(0,840px);gap:72px;padding:64px 0 100px}
.legal-nav{position:sticky;top:108px;align-self:start;display:grid}
.legal-nav a{
  padding:9px 0;border-bottom:1px solid var(--line);text-decoration:none;
  font-family:"Courier New",monospace;font-size:.68rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)
}
.legal-nav a:hover{color:var(--ultra)}
.legal-copy{display:grid;gap:34px}
.legal-copy section{scroll-margin-top:108px}
.legal-copy h2{font-size:clamp(2rem,3.5vw,3rem)}
.legal-copy p,.legal-copy li{color:var(--muted)}
.legal-copy ul{padding-left:1.2rem}
.legal-copy address{font-style:normal;color:var(--muted)}
.legal-note{margin-top:14px;padding:16px 18px;background:var(--moss);border-left:4px solid var(--ultra)}

@media(max-width:1050px){
  .masthead{grid-template-columns:210px 1fr}.location-chip{display:none}
  .field-node{width:170px}
  .study-grid{grid-template-columns:1fr 1fr;grid-template-rows:260px 230px 240px}.st1{grid-row:auto}.st2,.st5{grid-column:1/3}
}
@media(max-width:860px){
  .top-rail{display:none}
  .masthead{grid-template-columns:1fr}.brand{justify-self:center;padding-top:8px}.research-nav{justify-content:center;padding-bottom:8px}
  .hero-stage{min-height:960px}.hero-copy{position:relative;width:100%;padding-top:40px}.orbit-shell{width:88%;height:60%;right:2%;top:34%}.primary-plane{width:55%;height:44%;right:4%;top:38%}.secondary-plane{width:38%;height:28%;left:5%;right:auto;top:50%}.hero-card{right:6%;bottom:2%}
  .orientation-grid{grid-template-columns:1fr 1fr}
  .field-orbit{min-height:auto;padding:20px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-ring{display:none}.field-centre{width:auto;grid-column:1/3}.field-node{position:relative;inset:auto!important;width:auto}
  .material-orbit,.workspace-grid,.location-grid{grid-template-columns:1fr}
  .method .loop-wrap{min-height:auto;padding:10px 0}.loop{width:100%;height:auto;border:0;border-radius:0;display:grid;gap:12px}.loop::before,.loop::after{display:none}.loop-centre{position:relative;inset:auto;transform:none;width:auto;padding:20px 0}.node{position:relative;inset:auto!important;transform:none!important;width:100%}
  .object-system{grid-template-columns:1fr}
  .principle{grid-template-columns:70px 1fr}.principle p{grid-column:2}
  .journal-grid{grid-template-columns:1fr}
  .colophon{grid-template-columns:1fr}.footer-index{border-left:0;border-top:1px solid rgba(255,255,255,.2)}
  .legal-layout{grid-template-columns:1fr;gap:30px}.legal-nav{position:static;grid-template-columns:repeat(2,1fr);gap:0 18px}
}
@media(max-width:620px){
  .section{padding:72px 0}h1{font-size:clamp(4rem,18vw,6.3rem)}.research-nav a{font-size:.61rem;padding:7px}
  .hero-stage{min-height:920px}.hero-bottom{flex-direction:column;align-items:flex-start}.primary-plane{width:70%;height:38%;top:43%}.secondary-plane{width:48%;height:24%;top:57%}.hero-card{width:78%;right:4%;bottom:1%}
  .orientation-grid{grid-template-columns:1fr}
  .field-orbit{grid-template-columns:1fr}.field-centre{grid-column:1}
  .study-grid{grid-template-columns:1fr;grid-template-rows:repeat(5,240px)}.st2,.st5{grid-column:auto}
  .material-stage{min-height:auto;padding:16px;display:grid;gap:12px}.material-ring{display:none}.mat{position:relative;inset:auto!important;width:100%;min-height:150px;border-radius:0;align-items:flex-start;text-align:left}.mat::before{border-radius:50%}
  .half{min-height:480px;padding:44px 24px}.half-word{font-size:clamp(5rem,20vw,7.4rem)}
  .workspace-photos{grid-template-columns:1fr;grid-template-rows:repeat(3,240px)}.ws1,.ws2,.ws3{grid-row:auto;grid-column:auto}
  .principle{grid-template-columns:1fr}.principle p{grid-column:auto}
  .location-title{font-size:clamp(5rem,19vw,7rem)}
  .footer-brand{font-size:clamp(4rem,18vw,6.4rem)}.footer-index{grid-template-columns:1fr}
  .legal-nav{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
