:root {
  --ink:#142f3b;
  --muted:#4b626a;
  --paper:#f8f6f0;
  --line:#d6dcd5;
  --gold:#b8dbd0;
  --dark:#102d3a;
  --serif:Georgia,'Times New Roman',serif
}

* {
  box-sizing:border-box
}

html {
  scroll-behavior:smooth;
  scroll-padding-top:2rem
}

body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font:1rem/1.7 system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif
}

a {
  color:inherit;
  text-underline-offset:.25em
}

a:hover {
  text-decoration-thickness:2px
}

a:focus-visible {
  outline:3px solid #ac6936;
  outline-offset:6px
}

h1,h2,h3,p {
  margin-top:0
}

h1,h2,h3 {
  line-height:1.12;
  font-weight:400
}

h1,h2 {
  font-family:var(--serif);
  letter-spacing:-.045em
}

h1 {
  font-size:clamp(2.8rem,5.1vw,5.1rem);
  margin-bottom:1.6rem
}

h2 {
  font-size:clamp(2.3rem,4vw,3.7rem);
  margin-bottom:1.8rem
}

h3 {
  font-size:1.45rem;
  line-height:1.3
}

p {
  margin-bottom:1.25rem
}

em {
  color:#b9dbcf;
  font-weight:400
}

button,a {
  -webkit-tap-highlight-color:transparent
}

.wrap {
  width:min(1180px,calc(100% - 64px));
  margin-inline:auto
}

.skip {
  position:absolute;
  left:1rem;
  top:-10rem;
  background:white;
  padding:1rem;
  z-index:10
}

.skip:focus {
  top:1rem
}

.site-header {
  background:var(--paper);
  border-bottom:1px solid var(--line)
}

.header-inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
  min-height:108px
}

.brand {
  display:flex;
  gap:.85rem;
  align-items:center;
  text-decoration:none;
  font-size:1rem;
  line-height:1.35;
  font-weight:600
}

.brand-sub {
  display:block;
  font-size:.7rem;
  text-transform:uppercase;
  letter-spacing:.22em;
  margin-top:.3rem;
  font-weight:400
}

.logo-placeholder {
  display:grid;
  place-items:center;
  width:45px;
  height:45px;
  border:1px solid #69817e;
  border-radius:50%;
  font:1.05rem var(--serif);
  flex-shrink:0
}

.site-header nav {
  display:flex;
  gap:1.8rem;
  flex-wrap:wrap
}

.site-header nav a {
  font-size:.88rem;
  text-decoration:none;
  padding:.5rem 0
}

.site-header nav a:hover {
  box-shadow:0 1px currentColor
}

.hero {
  background:var(--dark);
  color:#f8f6f0;
  overflow:hidden
}

.hero-grid {
  display:grid;
  grid-template-columns:1.3fr 1fr;
  align-items:center;
  gap:3rem;
  padding-top:90px;
  padding-bottom:80px
}

.eyebrow {
  font-size:.7rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.2em;
  margin-bottom:1.7rem
}

.hero .eyebrow {
  color:#bed6d3
}

.lead {
  max-width:610px;
  color:#d3dfdf;
  font-size:1.08rem;
  line-height:1.85
}

.actions {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:1.6rem;
  margin-top:2rem
}

.button {
  display:inline-flex;
  gap:1.4rem;
  align-items:center;
  background:#c4dfd4;
  color:#122e38;
  padding:.95rem 1.25rem;
  text-decoration:none;
  font-size:.85rem;
  font-weight:600
}

.button:hover {
  background:#e1eee6
}

.text-link {
  font-size:.9rem
}

.sky {
  height:390px;
  position:relative;
  background:radial-gradient(ellipse at 50% 65%,#37564d 0,transparent 62%);
  isolation:isolate
}

.orbit {
  position:absolute;
  border:1px solid #68827b;
  border-radius:50%;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:320px;
  height:320px
}

.orbit-two {
  width:240px;
  height:240px;
  border-style:dashed;
  opacity:.55
}

.sun {
  position:absolute;
  width:124px;
  height:124px;
  border-radius:50%;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  background:#d4c398;
  box-shadow:0 0 75px #d3c29122
}

.horizon {
  position:absolute;
  left:-5%;
  right:-5%;
  top:60%;
  height:42%;
  background:var(--dark);
  border-top:1px solid #849e8e;
  border-radius:50% 50% 0 0/15% 15% 0 0;
  transform:rotate(-8deg)
}

.sky-caption {
  position:absolute;
  bottom:0;
  width:100%;
  text-align:center;
  font-size:.62rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:#bcd0cb
}

.hero-bottom {
  display:flex;
  justify-content:space-between;
  padding-block:1.25rem;
  border-top:1px solid #3b525a;
  color:#c0cfcf;
  font-size:.72rem;
  letter-spacing:.04em
}

.section {
  padding-block:100px
}

.section-heading {
  margin-bottom:2.5rem
}

.intro-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:5rem
}

.large-copy {
  font:1.8rem/1.5 var(--serif);
  max-width:430px
}

.intro-grid>div {
  color:var(--muted)
}

.principles {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:3rem;
  margin-top:3rem;
  border-top:1px solid var(--line);
  padding-top:2rem
}

.number {
  display:block;
  color:#547d72;
  font:1rem var(--serif);
  margin-bottom:1.4rem
}

.principles p,.event p {
  font-size:.95rem;
  color:var(--muted);
  margin-bottom:0
}

.research {
  background:#eaf0e9
}

.split-heading {
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:6rem;
  align-items:end;
  margin-bottom:3rem
}

.split-heading>p {
  max-width:420px;
  color:var(--muted);
  margin-bottom:2rem
}

.publication {
  display:grid;
  grid-template-columns:1fr 1.5fr;
  gap:4.5rem;
  border-top:1px solid #bacbc0;
  padding-top:3rem
}

.publication-art {
  min-height:330px;
  background:#21463f;
  color:#e5e9d9;
  padding:2rem;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  position:relative;
  overflow:hidden
}

.publication-art>span:first-child {
  font:3.7rem/1 var(--serif);
  letter-spacing:-.05em
}

.publication-art small {
  font-size:.55rem;
  letter-spacing:.2em
}

.publication-line {
  position:absolute;
  border:1px solid #8ba091;
  border-radius:50%;
  width:300px;
  height:300px;
  right:-140px;
  bottom:-70px
}

.publication-copy {
  align-self:center
}

.publication-copy h3 {
  font:2rem/1.2 var(--serif);
  margin:1.25rem 0
}

.publication-copy p {
  color:var(--muted)
}

.tag {
  display:inline-block;
  font-size:.65rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  border:1px solid #9bae9f;
  padding:.35rem .6rem
}

.publication-copy .note {
  font-size:.8rem;
  border-top:1px solid #c5d2c5;
  padding-top:1rem;
  margin-bottom:0
}

.event-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:3rem
}

.event {
  border-top:1px solid var(--line);
  padding-block:1.7rem
}

.event h3 {
  font:2rem var(--serif);
  margin-block:1.5rem 1rem
}

.notice {
  margin-top:1rem;
  border-left:2px solid #779589;
  padding:1rem 1.5rem;
  background:#eeeee5;
  font-size:.9rem
}

.notice p {
  margin:.5rem 0 0;
  color:var(--muted)
}

.contact {
  background:#dce8df;
  padding-block:80px
}

.contact-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:5rem
}

.contact-grid>div>p:last-child {
  max-width:400px;
  color:var(--muted)
}

.contact-details {
  align-self:center;
  min-width:0
}

.contact-label {
  font-size:.7rem;
  text-transform:uppercase;
  letter-spacing:.15em;
  display:block
}

.email {
  display:flex;
  justify-content:space-between;
  gap:.5rem;
  font-size:clamp(1rem,2.15vw,1.6rem);
  text-decoration:none;
  border-bottom:1px solid #8da69a;
  padding:1rem 0;
  overflow-wrap:anywhere
}

.contact-details p {
  font-size:.8rem;
  margin:1rem 0 2rem
}

.instagram {
  font-size:.9rem;
  display:inline-block;
  margin-bottom:.6rem
}

.contact-details small {
  display:block;
  font-size:.7rem;
  color:var(--muted)
}

.site-footer {
  padding-block:45px;
  background:var(--dark);
  color:#e0e9e5
}

.footer-inner {
  display:flex;
  justify-content:space-between;
  gap:2rem
}

.site-footer strong {
  font-size:.9rem;
  font-weight:500
}

.site-footer p {
  font-size:.8rem;
  margin:.5rem 0 1rem;
  color:#bdceca
}

.site-footer small {
  font-size:.65rem;
  color:#bdceca
}

.site-footer nav {
  display:flex;
  gap:1.5rem;
  flex-wrap:wrap;
  align-content:start;
  font-size:.8rem
}

.legal {
  max-width:850px;
  padding-block:70px 90px;
  overflow-wrap:anywhere
}

.legal h1 {
  font-size:clamp(2.5rem,6vw,4.5rem)
}

.legal h2 {
  font-family:inherit;
  font-size:1.35rem;
  line-height:1.4;
  letter-spacing:0;
  font-weight:600;
  margin-bottom:1rem
}

.legal section {
  margin-block:2.5rem
}

.draft {
  padding:1.5rem;
  background:#e9ece2;
  border-left:3px solid #6e8974;
  font-size:.9rem
}

.draft p {
  margin: .6rem 0 0
}

.legal li {
  margin-block:.6rem
}

.legal ul {
  padding-left:1.3rem
}

@media(min-width:1600px) {
  .hero-grid {
  padding-block:110px
}


}

@media(max-width:900px) {
  .header-inner {
  flex-direction:column;
  align-items:start;
  padding-block:1.4rem;
  gap:1rem
}

.site-header nav {
  gap:1.5rem
}

.hero-grid {
  gap:1rem;
  padding-block:60px;
  grid-template-columns:1.5fr 1fr
}

.sky {
  height:300px
}

.orbit-one {
  width:240px;
  height:240px
}

.orbit-two {
  width:180px;
  height:180px
}

.sun {
  width:95px;
  height:95px
}

.intro-grid,.split-heading,.contact-grid {
  gap:2.5rem
}

.publication {
  gap:2.5rem
}

.principles {
  gap:1.5rem
}

.section {
  padding-block:70px
}

.actions {
  gap:1rem
}

.hero h1 {
  font-size:3.2rem
}

.footer-inner {
  flex-direction:column
}


}

@media(max-width:620px) {
  .wrap {
  width:calc(100% - 40px)
}

.site-header nav {
  gap:.3rem 1.2rem;
  justify-content:space-between;
  width:100%
}

.site-header nav a {
  font-size:.75rem
}

.hero-grid {
  grid-template-columns:1fr;
  padding-top:50px;
  padding-bottom:30px
}

.hero h1 {
  font-size:clamp(2.5rem,9vw,3.5rem)
}

.lead {
  font-size:1rem
}

.sky {
  height:250px;
  margin-top:1rem
}

.orbit-one {
  width:210px;
  height:210px
}

.orbit-two {
  width:160px;
  height:160px
}

.sun {
  width:90px;
  height:90px
}

.sky-caption {
  bottom:0
}

.hero-bottom {
  gap:1rem;
  font-size:.65rem;
  align-items:start
}

.hero-bottom span:last-child {
  text-align:right
}

.intro-grid,.principles,.split-heading,.publication,.event-grid,.contact-grid {
  grid-template-columns:1fr;
  gap:1.5rem
}

.section {
  padding-block:56px
}

.section-heading {
  margin-bottom:1rem
}

.large-copy {
  font-size:1.6rem
}

.principles {
  margin-top:1.5rem
}

.principles article {
  border-bottom:1px solid var(--line);
  padding-bottom:1.5rem
}

.number {
  margin-bottom:.7rem
}

.split-heading {
  margin-bottom:1.5rem
}

.split-heading>p {
  margin-bottom:0
}

.publication {
  padding-top:1.5rem
}

.publication-art {
  min-height:280px
}

.contact {
  padding-block:56px
}

.contact h2 {
  margin-bottom:1rem
}

.email {
  font-size:1.1rem
}

.event-grid {
  gap:0
}

.legal {
  padding-block:45px 60px
}

.draft {
  padding:1rem
}

.legal h2 {
  font-size:1.2rem
}


}

@media(prefers-reduced-motion:reduce) {
  html {
  scroll-behavior:auto
}


}

@media print {
  body {
  background:white;
  color:black
}

.site-header,.site-footer,.skip,.sky,.actions {
  display:none
}

.wrap {
  width:100%
}

.hero,.contact,.research {
  background:white;
  color:black
}

.hero p,.hero em {
  color:black
}

.section,.contact,.hero-grid {
  padding-block:1rem
}

.legal {
  max-width:none
}

.draft {
  border:1px solid #999
}

a {
  color:black
}

.publication-art {
  display:none
}

.publication {
  display:block
}


}
