@charset "UTF-8";
:root{--paper:#fafaf8;--ink:#141714;--muted:#626862;--green:#48f000;--line:#dddfd8;--tint:#f0f1ec;--max:1200px;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:40px}
body{margin:0;font-size:1rem;line-height:1.6}
a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}
a:focus-visible{outline:2px solid var(--ink);outline-offset:6px;border-radius:3px}
img,svg{display:block;max-width:100%}
::selection{background:var(--green);color:var(--ink)}
h1,h2,h3,p{margin-top:0}
.shell{width:min(calc(100% - 112px),var(--max));margin-inline:auto}
.skip-link{position:fixed;left:20px;top:-100px;z-index:20;background:var(--ink);color:#fff;padding:12px 18px}
.skip-link:focus{top:12px}
.header{position:relative;z-index:5}
.header-inner{height:104px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{position:relative;display:block;overflow:hidden;width:126px;height:35px;flex:0 0 auto}
.brand img{position:absolute;max-width:none;width:149px;height:70px;left:-11.5px;top:-18.6px}
nav{display:flex;align-items:center;gap:38px;font-size:.875rem}
nav a{transition:opacity .2s ease}
nav a:hover{opacity:.6}
.header-actions{display:flex;align-items:center;gap:32px}
.language-switch{gap:0;border:1px solid var(--line);border-radius:30px;padding:3px;font-size:.75rem;font-weight:600}
.language-switch a{display:flex;align-items:center;justify-content:center;width:37px;min-height:34px;border-radius:24px}
.language-switch a[aria-current="page"]{color:var(--paper);background:var(--ink)}
.language-switch a:hover{opacity:1;background:#e5e8df}
.language-switch a[aria-current="page"]:hover{background:var(--ink)}
.nav-contact{padding:9px 21px;border:1px solid #b8bdb4;border-radius:30px}
.hero{position:relative;padding-top:88px;display:grid;grid-template-columns:1.55fr 1fr;column-gap:22px}
.hero-copy{position:relative;z-index:1;padding-bottom:80px}
.eyebrow{display:flex;align-items:center;gap:12px;margin:0;color:var(--muted);font-size:.75rem;font-weight:500;line-height:1.5;letter-spacing:.12em}
.small-rule{width:24px;height:2px;background:var(--green);flex-shrink:0;display:inline-block}
h1{font-size:clamp(2.8rem,4.4vw,4.25rem);line-height:1.14;font-weight:400;letter-spacing:-.055em;margin:28px 0}
.research-word,.serif{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-weight:400;letter-spacing:-.045em}
.hero-description{color:var(--muted);max-width:465px;line-height:1.85;font-size:1.0625rem;margin-bottom:30px;text-wrap:pretty}
.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;min-height:48px;border-radius:30px;padding:11px 23px;font-size:.875rem;font-weight:500;transition:background .2s,transform .2s}
.button-green{background:var(--green);color:var(--ink)}
.button-green:hover{background:#3bd400;transform:translateY(-2px)}
.button>span{font-size:1.15rem;font-weight:400;line-height:1}
.hero-art{align-self:start;position:relative;aspect-ratio:1;margin-top:-18px;isolation:isolate}
.art-grid{position:absolute;inset:-15px;background-image:radial-gradient(#adb7a1 1px,transparent 1px);background-size:22px 22px;opacity:.3;mask-image:radial-gradient(ellipse,#000 15%,transparent 69%);-webkit-mask-image:radial-gradient(ellipse,#000 15%,transparent 69%)}
.aura-signal{width:100%;height:100%;overflow:visible}
.orbit{stroke:#dce2d6;stroke-width:1}
.orbit-outer{stroke:#e8ebe3}
.crosshair{stroke:#e2e6dd;stroke-width:1;stroke-dasharray:2 6}
.signal-path{stroke:var(--green);stroke-width:19;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:520;stroke-dashoffset:0;animation:draw 1.7s ease-out both}
.signal-shadow{stroke:#e9eedf;stroke-width:22;stroke-linecap:round;stroke-linejoin:round;opacity:.6}
.art-cross{position:absolute;font-family:monospace;font-size:1rem;line-height:1;color:#869080}
.art-cross-top{top:0;right:0}.art-cross-bottom{bottom:0;left:0}
.hero-baseline{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.45fr;align-items:center;gap:28px;padding:27px 0 30px;border-top:1px solid var(--line);color:var(--muted);font-size:.875rem}
.baseline-origin{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:1.375rem;color:var(--ink);letter-spacing:-.025em}
.hero-baseline p{margin:0;line-height:1.75}



.section{padding-block:86px;scroll-margin-top:20px}
.approach{border-top:1px solid var(--line)}
.section-heading{display:grid;grid-template-columns:1.4fr 1fr;gap:65px;align-items:end;margin-bottom:55px}
.section-label{margin-bottom:23px}
h2{font-size:clamp(2rem,3.05vw,2.9rem);font-weight:400;line-height:1.2;letter-spacing:-.045em;margin-bottom:0}
.section-intro{font-size:1rem;color:var(--muted);line-height:1.85;margin-bottom:2px;max-width:398px;text-wrap:pretty}
.process-line{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));list-style:none;margin:0;padding:17px 0 52px}
.process-line::before{content:"";position:absolute;top:23px;left:calc(100% / 10);right:calc(100% / 10);height:1px;background:linear-gradient(90deg,#b7c0af 0%,#a7ca93 40%,#7fac65 60%,#b7c0af 100%)}
.process-line li{position:relative;display:flex;flex-direction:column;align-items:center;gap:22px;font-size:1rem;letter-spacing:-.015em;line-height:1.5}
.process-mark{position:relative;width:13px;height:13px;border:1px solid #7b876f;background:var(--paper);border-radius:50%}
.process-line li:nth-child(3) .process-mark{background:var(--green);border-color:var(--green);box-shadow:0 0 0 6px var(--paper),0 0 0 7px #bdcdb3}
.process-line li:last-child .process-mark{background:var(--ink);border-color:var(--ink)}
.testing-note{display:grid;grid-template-columns:1.4fr 1fr;gap:65px;align-items:center;border-top:1px solid var(--line);padding:40px 0 0}
.testing-title{border-left:2px solid var(--green);padding-left:24px}
.testing-note h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:2rem;letter-spacing:-.03em;line-height:1.25;margin:13px 0 0}
.testing-note>p{font-size:1rem;color:var(--muted);line-height:1.85;margin:0;max-width:390px;text-wrap:pretty}
.team{background:var(--tint);padding-block:78px 83px}
.team .section-heading{margin-bottom:43px}
.people{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px}
.person{display:grid;grid-template-columns:112px 1fr;gap:17px;align-items:center;border-top:1px solid #cfd4c8;padding-top:27px}
.person-photo{width:112px;height:122px;object-fit:contain;border-radius:15px}
.person h3{font-size:1.0625rem;font-weight:500;line-height:1.4;letter-spacing:-.025em;margin:0 0 6px}
.person p{font-size:.875rem;color:var(--muted);margin:0;line-height:1.6}
.contact{background:var(--ink);color:var(--paper);padding-top:64px;scroll-margin-top:0}
.contact-inner{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-bottom:60px}
.contact .eyebrow{color:#a7ada2}
.contact h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(3rem,5vw,4.25rem);letter-spacing:-.05em}
.contact-description{font-size:1rem;line-height:1.8;color:#b9bfb4;max-width:335px;margin:20px 0 0;text-wrap:pretty}
.email-link{display:flex;align-items:center;gap:16px;font-size:clamp(1rem,1.9vw,1.5rem);font-weight:400;padding:18px 0;border-bottom:1px solid #54604d;transition:border-color .2s}
.email-link svg{color:var(--green);flex-shrink:0}
.email-link:hover{border-color:var(--green)}
.email-contact{position:relative;max-width:100%}
.email-actions{display:flex;align-items:center;gap:12px}
.email-copy{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;border:1px solid #54604d;border-radius:50%;background:transparent;color:var(--paper);cursor:pointer}
.email-copy[hidden]{display:none}
.email-copy:hover{color:var(--green);border-color:var(--green)}
.email-copy:focus-visible{outline:2px solid var(--green);outline-offset:4px}
.email-status{position:absolute;right:0;top:100%;margin:8px 0 0;font-size:.8125rem;color:#b9bfb4;max-width:100%}
@media(max-width:760px){.email-actions{margin-top:22px;gap:8px}.email-actions .email-link{margin-top:0;gap:8px;font-size:clamp(.875rem,3.8vw,1.3rem)}}
.contact a:focus-visible{outline-color:var(--green)}
.footer{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #353c31;min-height:92px;color:#aeb4a8;font-size:.75rem}
.footer p{margin:0}.footer>span{letter-spacing:.02em}
.footer-brand{display:flex;align-items:center;gap:5px;color:var(--paper);font-size:2rem;font-weight:800;letter-spacing:-.07em;line-height:1}
.footer-brand svg{color:var(--green)}
@keyframes draw{from{stroke-dashoffset:520;opacity:0}to{stroke-dashoffset:0;opacity:1}}
@media(min-width:1600px){.hero{padding-top:105px}.hero-copy{padding-bottom:100px}}
@media(max-width:1050px){
 .shell{width:calc(100% - 72px)}
 .hero{grid-template-columns:1.6fr 1fr;padding-top:65px}.hero-art{margin-top:20px}
 h1{font-size:clamp(2.7rem,4.55vw,3.5rem)}
 .hero-baseline{grid-template-columns:.9fr 1.5fr;gap:22px}
 .section-heading,.testing-note{gap:38px}
 .people{gap:27px}.person{grid-template-columns:1fr;gap:19px}.person-photo{width:132px;height:144px}
}
@media(max-width:760px){
 html{scroll-padding-top:24px}.shell{width:calc(100% - 44px)}
 .header-inner{height:auto;min-height:118px;padding-block:19px 16px;display:grid;grid-template-columns:1fr auto;row-gap:15px}
 .brand{width:112px;height:30px}.brand img{width:132px;height:62px;left:-10px;top:-16.5px}
 .header-actions{display:contents}.main-nav{grid-column:1/-1;grid-row:2;gap:27px}.nav-contact{padding:0;border:0}
 .language-switch{grid-column:2;grid-row:1}.language-switch a{width:36px;min-height:34px}
 .hero{padding-top:45px;grid-template-columns:1fr;gap:0}.hero-copy{padding-bottom:0}
 .hero .eyebrow{font-size:.75rem;letter-spacing:.065em;gap:9px}.hero .small-rule{width:18px}
 h1{font-size:clamp(2rem,6.7vw,3.2rem);line-height:1.18;letter-spacing:-.045em;margin:26px 0 23px}
 .hero-description{font-size:1rem;max-width:430px;margin-bottom:25px}
 .hero-art{width:220px;justify-self:end;margin:6px 0 22px;max-width:67%}
 .hero-baseline{grid-template-columns:1fr;gap:14px;padding:25px 0}
 .baseline-origin{grid-column:1/-1;font-size:1.375rem}.hero-baseline p{font-size:.875rem}
 .section{padding-block:59px}.section-heading{grid-template-columns:1fr;gap:23px;margin-bottom:36px}.section-label{margin-bottom:19px}
 h2{font-size:2.1rem}.section-intro{max-width:460px}
 .process-line{grid-template-columns:1fr;padding:5px 0 27px;margin-left:6px}
 .process-line::before{left:6px;right:auto;top:17px;bottom:46px;width:1px;height:auto;background:linear-gradient(#b7c0af,#7fac65,#b7c0af)}
 .process-line li{flex-direction:row;gap:25px;min-height:43px;align-items:center;font-size:1rem}
 .process-mark{flex:0 0 13px}
 .testing-note{grid-template-columns:1fr;gap:24px;padding-top:32px}.testing-note h3{font-size:1.875rem}.testing-note>p{max-width:460px}.testing-title{padding-left:20px}
 .people{grid-template-columns:1fr;gap:23px}.person{grid-template-columns:100px 1fr;gap:23px;padding-top:23px}.person-photo{width:100px;height:110px}.person h3{font-size:1.125rem}
 .team .section-heading{margin-bottom:31px}
 .contact{padding-top:52px}.contact-inner{display:block;padding-bottom:45px}.contact h2{font-size:3.2rem}.contact-description{max-width:310px}
 .email-link{display:inline-flex;gap:12px;font-size:clamp(.9375rem,4.4vw,1.3rem);margin-top:22px;padding:15px 0}.email-link svg{width:21px;height:21px}
 .footer{flex-wrap:wrap;min-height:95px;padding-block:24px;gap:16px}.footer>span{display:none}
}
@media(max-width:460px){.hero-baseline{grid-template-columns:1fr}.hero-baseline p{max-width:320px}}
@media(max-width:360px){.shell{width:calc(100% - 32px)}.main-nav{gap:23px}.hero .eyebrow{font-size:.75rem;letter-spacing:.025em}h1{font-size:1.875rem}.hero-art{width:195px}.person{gap:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
