:root{--ink:#101a26;--paper:#f5f2ea;--white:#f8f6ef;--muted:#45515d;--ice:#b7e5df;--line:#cfd1c8;--dark:#162433;--body:Inter,system-ui,sans-serif;--display:"Source Serif 4",Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.65 var(--body)}a{color:inherit}a:focus-visible,summary:focus-visible{outline:3px solid #268b83;outline-offset:5px}.wrap{width:min(1120px,calc(100% - 64px));margin-inline:auto}.skip{position:fixed;top:12px;left:12px;transform:translateY(-170%);z-index:5;background:var(--paper);padding:8px 18px}.skip:focus{transform:none}.mast{min-height:116px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:inline-flex;align-items:center;gap:3px;flex:none;text-decoration:none;font-size:1.05rem;letter-spacing:-.035em}.brand img{display:block;width:104px;height:104px;margin-inline-end:-10px;filter:brightness(1.055);mix-blend-mode:multiply}.mast nav{display:flex;gap:25px}.mast nav a{font-size:.87rem;text-decoration:none}.mast nav a:hover,.text-link:hover{text-decoration:underline}.hero{background:var(--ink);color:var(--white);overflow:hidden}.hero-inner{position:relative;min-height:610px;display:flex;align-items:center}.hero-copy{position:relative;z-index:1;max-width:635px;padding:86px 0}.kicker{font-size:.73rem;text-transform:uppercase;letter-spacing:.15em;font-weight:700;margin:0 0 22px;color:#37665e}.hero .kicker,.approach .kicker{color:var(--ice)}h1,h2{font-family:var(--display);font-weight:400;letter-spacing:-.022em;line-height:1.12;margin:0}h1{font-size:clamp(2.45rem,5.15vw,4.7rem);max-width:650px;font-weight:500;text-wrap:balance}h2{font-size:clamp(2rem,4vw,3.55rem);max-width:820px}h3{font-size:1.18rem;line-height:1.25;margin:0 0 9px}.lede{font-size:1.15rem;max-width:490px;color:#d0d9df;margin:28px 0}.button{display:inline-flex;align-items:center;gap:16px;background:var(--ice);color:var(--ink);padding:13px 19px;text-decoration:none;font-weight:650;font-size:.92rem;border-radius:3px}.button:hover{background:#d2f2ee}.hero-art{position:absolute;inset:0 -7vw 0 39%;background:radial-gradient(ellipse at 74% 45%,#20434b 0,#152a36 32%,transparent 70%);overflow:hidden}.hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(92deg,var(--ink) 0%,#101a26a8 22%,transparent 55%),linear-gradient(0deg,#101a2699,transparent 36%)}.optics{height:100%;background-image:url('optics.webp');background-size:cover;background-position:center;opacity:.9}.section{padding-block:95px}.story{display:grid;grid-template-columns:1fr 1fr;gap:clamp(34px,8vw,125px)}.body-copy p:first-child{margin-top:0}.body-copy p,.intro>p:last-child,.offers p{color:var(--muted)}.text-link{font-weight:650;text-underline-offset:4px;font-size:.93rem}.approach{background:var(--dark);color:var(--white)}.intro{max-width:745px}.intro>p:last-child{max-width:620px;font-size:1.04rem;margin-top:20px}.approach .intro>p:last-child,.approach li p,.example p:last-child{color:#c6d2dc}.sequence{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;list-style:none;padding:0;margin:36px 0}.sequence li{border-top:1px solid #698480;padding:18px 0 0}.sequence p,.offers p{margin:0}.example{border-block:1px solid #698480;margin-top:42px}.example summary{font-weight:650;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:12px;padding:17px 0}.example summary::-webkit-details-marker{display:none}.example summary span{font-size:1.2em;color:var(--ice)}.example[open] summary span{transform:rotate(45deg)}.example>div{max-width:685px;padding-bottom:10px}.example .kicker{margin-bottom:8px}.offers{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;margin-top:32px}.offers article{padding:22px 0;border-top:1px solid var(--line)}.contact{padding:58px 0;background:var(--ice)}.contact .wrap{display:grid;grid-template-columns:1.35fr 1fr;gap:28px;align-items:end}.contact p:not(.kicker){max-width:340px}.button.dark{background:var(--ink);color:var(--white)}.button.dark:hover{background:#293e52}.footer{padding-block:28px;display:flex;justify-content:space-between;gap:15px;font-size:.83rem;color:var(--muted)}.footer span:first-child{font-weight:700;color:var(--ink)}@media(max-width:730px){.wrap{width:calc(100% - 38px)}.mast{min-height:98px;flex-wrap:wrap;padding:8px 0;gap:6px}.brand img{width:82px;height:82px}.mast nav{gap:16px}.mast nav a{font-size:.82rem}.hero-inner{min-height:510px}.hero-copy{padding-block:58px}.hero-art{inset:0 -19px 0 18%;opacity:.65}.hero-art:after{background:linear-gradient(90deg,var(--ink),#101a26aa 56%,#101a2644)}.section{padding-block:61px}.story,.sequence,.offers,.contact .wrap{grid-template-columns:1fr;gap:18px}.sequence{margin:25px 0}.sequence li{padding-top:13px}.contact{padding-block:45px}.footer{flex-direction:column;gap:4px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.credentials{border-bottom:1px solid var(--line);background:#eeece3}.credentials dl{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-block:0;padding-block:24px}.credentials dl>div{display:flex;flex-direction:column-reverse;gap:2px}.credentials dt{color:var(--muted);font-size:.78rem}.credentials dd{margin:0;font:500 1.58rem/1.15 var(--display)}.byline{font-size:1.03rem;color:var(--muted)}.affiliation{font-size:.9rem}@media(max-width:730px){.credentials dl{grid-template-columns:repeat(2,1fr)}.mast nav{flex-wrap:wrap}}

.offers .lead-offer { border-top: 3px solid #287a72; padding-top: 20px; }
.contact .wrap { grid-template-columns: 1fr 1.18fr; align-items: center; }
.contact-details {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 20px;
}
.contact-details address { font-style: normal; }
.contact-details dl { margin: 0; }
.contact-details dl > div + div { margin-top: .8rem; }
.contact-details dt { color: var(--muted); font-size: .83rem; }
.contact-details dd { margin: 0; overflow-wrap: anywhere; }
.contact-details a { font-weight: 600; text-underline-offset: .18em; }
.linkedin-qr {
  display: grid;
  gap: 5px;
  justify-items: center;
  font-size: .77rem;
  text-decoration: none;
}
.linkedin-qr:hover span { text-decoration: underline; }
.linkedin-qr img { display: block; width: 164px; height: 164px; image-rendering: pixelated; }

@media (max-width: 830px) {
  .contact .wrap { grid-template-columns: 1fr; }
}
@media (max-width: 440px) {
  .contact-details { grid-template-columns: 1fr; justify-items: start; }
}
