:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#15211d;background:#f5f6f1;font-synthesis:none;--ink: #15211d;--muted: #5d6a65;--forest: #173d32;--mint: #c7f46b;--paper: #f5f6f1;--line: #d5dcd5;--white: #fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;min-height:100vh;margin:0}a{color:inherit}p{line-height:1.65}.site-shell{width:min(1440px,100%);margin:0 auto;background:var(--paper)}.site-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:84px;padding:0 5vw;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:.7rem;width:fit-content;font-weight:760;text-decoration:none}.brand-mark{display:grid;width:2rem;height:2rem;place-items:center;border-radius:50%;background:var(--forest);color:var(--mint);font-size:.68rem;letter-spacing:.05em}.site-header nav ul{display:flex;gap:1.8rem;margin:0;padding:0;list-style:none}.site-header nav a{padding:.7rem 0;color:var(--muted);font-size:.9rem;font-weight:650;text-decoration:none}.site-header nav a[aria-current=page]{color:var(--ink);border-bottom:2px solid var(--ink)}.site-header>.button{justify-self:end}main{overflow:hidden}.hero{min-height:670px}.section-grid{display:grid;grid-template-columns:1.02fr .98fr}.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(4rem,8vw,8rem) 5vw}.eyebrow{margin:0 0 1rem;color:#447065;font-size:.72rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}h1,h2,h3,p{text-wrap:pretty}h1,h2,h3{margin-top:0;line-height:1.04;letter-spacing:-.035em}h1{max-width:12ch;margin-bottom:1.5rem;font-size:clamp(3rem,6vw,6.2rem)}h2{font-size:clamp(2rem,3.5vw,3.7rem)}h3{font-size:1.45rem}.lead{max-width:620px;margin:0;color:var(--muted);font-size:clamp(1.05rem,1.6vw,1.3rem)}.button-row{display:flex;align-items:center;gap:1.5rem;margin-top:2.2rem}.button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:.8rem 1.25rem;border:1px solid var(--forest);border-radius:999px;background:var(--forest);color:#fff;font-size:.88rem;font-weight:750;text-decoration:none}.button-small{min-height:40px;padding:.55rem 1rem}.text-link{display:inline-block;font-weight:750;text-decoration-thickness:1px;text-underline-offset:.25rem}.map-placeholder{position:relative;min-height:580px;margin:3rem 3rem 3rem 0;overflow:hidden;border-radius:1.5rem;background:#dce9e2;background-image:linear-gradient(#bdd2c7 1px,transparent 1px),linear-gradient(90deg,#bdd2c7 1px,transparent 1px);background-size:54px 54px}.map-label{position:absolute;top:1.5rem;left:1.5rem;z-index:2;padding:.55rem .8rem;border-radius:999px;background:#ffffffd9;font-size:.72rem;font-weight:750}.route{position:absolute;height:5px;border-radius:99px;background:var(--forest);transform-origin:left center}.route-a{top:55%;left:20%;width:60%;transform:rotate(-20deg)}.route-b{top:35%;left:33%;width:45%;transform:rotate(32deg);background:#719082}.map-node{position:absolute;width:20px;height:20px;border:6px solid var(--forest);border-radius:50%;background:var(--mint)}.node-a{top:50%;left:19%}.node-b{top:29%;left:74%}.node-c{top:61%;left:73%}.map-stat{position:absolute;right:1.5rem;bottom:1.5rem;display:grid;gap:.2rem;min-width:190px;padding:1rem;border-radius:.8rem;background:var(--white);box-shadow:0 16px 30px #1432281f}.map-stat span{color:var(--muted);font-size:.8rem}.section-block{padding:clamp(5rem,9vw,9rem) 5vw}.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:end;margin-bottom:3rem}.section-heading .eyebrow{grid-column:1 / -1;margin-bottom:-1rem}.section-heading h2,.section-heading p{margin-bottom:0}.section-heading>p:last-child{max-width:520px;color:var(--muted);justify-self:end}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.feature-card{min-height:270px;padding:2rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#ffffff59}.feature-card>p:last-child{color:var(--muted)}.workflow{position:relative;padding:clamp(2rem,5vw,4rem);overflow:hidden;border:1px solid var(--line);border-radius:1.5rem;background:#edf1eb}.workflow-layout{position:relative}.workflow-track{position:absolute;top:calc(4.2rem - 2px);right:16.6667%;left:16.6667%;height:4px}.workflow-line{position:absolute;inset:0;border-radius:99px;background:#c3cec7}.workflow-line:after{position:absolute;inset:0;border-radius:inherit;background:var(--forest);content:"";transform:scaleX(0);transform-origin:left}.workflow.is-active .workflow-line:after{animation:workflow-draw 1.5s .15s cubic-bezier(.65,0,.35,1) forwards}.workflow-packet{position:absolute;top:50%;left:0;z-index:2;width:.72rem;height:.72rem;border:3px solid var(--forest);border-radius:50%;background:var(--mint);opacity:0;transform:translate(-50%,-50%)}.workflow.is-active .workflow-packet{animation:workflow-travel 7s 1.55s cubic-bezier(.25,.55,.3,1) infinite,workflow-packet-fade 7s 1.55s linear infinite}.workflow.is-active .packet-two{animation-delay:2.45s}.workflow.is-active .packet-three{animation-delay:3.35s}.workflow-steps{position:relative;z-index:3;display:grid;grid-template-columns:repeat(3,1fr);margin:0;padding:0;list-style:none}.workflow-step{position:relative;display:grid;grid-template-rows:2.2rem 4rem auto;align-content:start;padding-inline:clamp(1rem,3vw,3rem);opacity:.48}.workflow.is-active .workflow-step{animation:workflow-arrive .55s forwards}.workflow.is-active .workflow-step:nth-child(2){animation-delay:.55s}.workflow.is-active .workflow-step:nth-child(3){animation-delay:1.1s}.workflow-number{color:#6d7f76;font-size:.72rem;font-weight:800;letter-spacing:.12em}.workflow-node{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,.55rem);gap:.22rem;align-self:center;justify-self:center;align-items:center;width:fit-content;height:2.7rem;padding:.55rem;border:2px solid var(--forest);border-radius:.65rem;background:var(--paper);box-shadow:0 8px 18px #1432281a}.workflow-node i{display:block;width:.55rem;height:.55rem;border-radius:50%;background:var(--forest)}.diverging-node i:nth-child(2){transform:translateY(-.3rem)}.diverging-node i:nth-child(3){transform:translateY(.3rem)}.application-node{border-radius:50%;background:var(--forest)}.application-node i{background:var(--mint)}.workflow-step div{padding-top:1.5rem}.workflow-step .eyebrow{margin-bottom:.75rem}.workflow-step h3{margin-bottom:.8rem}.workflow-step p:last-child{margin:0;color:var(--muted)}@keyframes workflow-draw{to{transform:scaleX(1)}}@keyframes workflow-arrive{to{opacity:1}}@keyframes workflow-travel{0%{left:0}60%,to{left:100%}}@keyframes workflow-packet-fade{0%{opacity:0}7.2%,52.8%{opacity:1}60%,to{opacity:0}}.split-panel{display:grid;grid-template-columns:1fr 1fr;gap:4rem;padding:clamp(4rem,8vw,7rem) 5vw;background:var(--forest);color:var(--white)}.split-panel .eyebrow{color:var(--mint)}.split-panel>div:last-child{max-width:580px}.split-panel .text-link{margin-top:1rem;color:var(--mint)}.page-hero{padding:clamp(5rem,10vw,9rem) 5vw;border-bottom:1px solid var(--line)}.page-hero h1{max-width:14ch}.narrow-hero{max-width:1000px;border:0}.prototype-frame{margin:0 5vw;overflow:hidden;border:1px solid #98aaa1;border-radius:1.2rem;background:var(--white);box-shadow:0 30px 70px #14322817}.frame-toolbar{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.2rem;border-bottom:1px solid var(--line);font-weight:750}.status-pill{padding:.35rem .65rem;border-radius:999px;background:#eef1ed;color:var(--muted);font-size:.72rem}.frame-body{display:grid;grid-template-columns:240px 1fr;min-height:480px}.filter-placeholder{display:grid;align-content:start;gap:.4rem;padding:2rem 1.4rem;border-right:1px solid var(--line)}.filter-placeholder span{margin-top:1rem;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.canvas-placeholder{display:grid;place-items:center;padding:2rem;color:#416257;text-align:center;background-color:#e4eee8;background-image:radial-gradient(#a9c0b5 1px,transparent 1px);background-size:20px 20px}.compact-section{padding-top:5rem}.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;padding:0 5vw 5rem}.article-card{padding:1rem;border:1px solid var(--line);background:#ffffff8c}.article-card h2{font-size:1.6rem}.article-card>p:not(.eyebrow){color:var(--muted)}.article-image{display:grid;min-height:220px;margin-bottom:1.5rem;place-items:center;background:var(--forest);color:var(--mint);font-size:3rem;font-weight:800}.inline-note{margin:-2rem 5vw 6rem;padding:1rem;border-left:3px solid var(--forest);color:var(--muted)}.about-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:5rem;padding:0 5vw 7rem}.prose-block{max-width:700px}.prose-block h2{font-size:2rem}.prose-block p{color:var(--muted);font-size:1.08rem}.principles-panel{padding:2rem;background:#e2ebe4}.principles-panel ul{margin:0;padding:0;list-style:none}.principles-panel li{display:grid;grid-template-columns:2rem 1fr;gap:1rem;padding:1.2rem 0;border-bottom:1px solid #bdcbc3;font-weight:700}.principles-panel li span{color:#5f7d72;font-size:.75rem}.button-light{border-color:var(--white);background:var(--white);color:var(--forest);white-space:nowrap}.site-footer{display:grid;grid-template-columns:1fr auto;gap:2rem;padding:3rem 5vw 2rem;border-top:1px solid var(--line)}.site-footer p{margin:.5rem 0 0;color:var(--muted);font-size:.85rem}.footer-links{display:flex;flex-wrap:wrap;gap:1.2rem;font-size:.85rem}@media(max-width:900px){.site-header{grid-template-columns:1fr auto;padding-block:1rem}.site-header nav{grid-column:1 / -1;grid-row:2;margin-top:.8rem;overflow-x:auto}.site-header nav ul{gap:1.2rem}.site-header>.button{grid-column:2;grid-row:1}.section-grid,.section-heading,.split-panel,.about-grid{grid-template-columns:1fr}.hero{min-height:auto}.map-placeholder{min-height:480px;margin:0 5vw 5vw}.section-heading>p:last-child{justify-self:start}.card-grid,.article-grid{grid-template-columns:1fr 1fr}.workflow{padding:2.5rem}.frame-body{grid-template-columns:1fr}.filter-placeholder{grid-template-columns:1fr 1fr;border-right:0;border-bottom:1px solid var(--line)}.filter-placeholder span{margin-top:.4rem}}@media(max-width:620px){.site-header>.button{display:none}.site-header nav ul{justify-content:space-between;gap:.8rem}h1{font-size:clamp(2.7rem,14vw,4rem)}.button-row{align-items:flex-start;flex-direction:column}.map-placeholder{min-height:400px}.card-grid,.article-grid{grid-template-columns:1fr}.feature-card{min-height:220px}.workflow{padding:2rem}.workflow-track{display:none}.workflow-line:after{transform:scaleY(0);transform-origin:top}.workflow.is-active .workflow-line:after{animation-name:workflow-draw-vertical}.workflow-packet{top:0;left:50%}.workflow.is-active .workflow-packet{animation-name:workflow-travel-vertical,workflow-packet-fade}.workflow-steps{grid-template-columns:1fr;gap:3rem}.workflow-step{grid-template:auto auto / 3.44rem 1fr;column-gap:1.4rem;padding-inline:0}.workflow-number{grid-column:2;margin:0 0 .4rem}.workflow-node{grid-row:1 / 3;align-self:start;justify-self:center}.workflow-step:not(:last-child):after{position:absolute;top:1.35rem;left:calc(1.72rem - 2px);width:4px;height:calc(100% + 3rem);border-radius:99px;background:var(--forest);content:""}.workflow-step div{grid-column:2;padding-top:0}.split-panel{gap:1.5rem}.site-footer{grid-template-columns:1fr}}@keyframes workflow-draw-vertical{to{transform:scaleY(1)}}@keyframes workflow-travel-vertical{0%{top:0}60%,to{top:100%}}@media(prefers-reduced-motion:reduce){.workflow-line:after{transform:none}.workflow-step{opacity:1;transform:none}.workflow.is-active .workflow-line:after,.workflow.is-active .workflow-step,.workflow.is-active .workflow-packet{animation:none}.workflow-packet{display:none}}.brand img{display:block;width:152px;height:auto}.footer-brand img{display:block;width:142px;height:auto}.placeholder-label{width:fit-content;margin-top:2rem;padding:.35rem .55rem;border:1px solid var(--line);border-radius:.35rem;color:var(--muted);font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.product-detail h2{margin:1.2rem 0}.product-device{display:grid;min-height:380px;place-items:center;overflow:hidden;border:12px solid #1b2823;border-radius:1.4rem;background-color:#edf3ef;background-image:radial-gradient(#a6bdb2 1px,transparent 1px);background-size:18px 18px;color:#527066;font-size:.8rem;font-weight:750;text-align:center;box-shadow:0 28px 60px #1230262e}.product-detail{display:grid;grid-template-columns:.9fr 1.1fr;gap:5rem;align-items:center;padding:0 5vw 8rem}.product-copy>p:last-child{color:var(--muted)}.large-device{min-height:520px}.future-slots{max-width:820px;margin:0 5vw 7rem;padding:3rem;border:1px dashed #9cafaa;background:#ffffff6b}.future-slots p:last-child{color:var(--muted)}.project-list{margin:0 5vw 6rem;border-top:1px solid var(--line)}.project-row{display:grid;grid-template-columns:100px 1fr;gap:2rem;padding:3rem 0;border-bottom:1px solid var(--line)}.project-year{margin:.35rem 0 0;color:#447065;font-size:.8rem;font-weight:800;letter-spacing:.12em}.project-row h2{margin-bottom:1rem;font-size:clamp(1.7rem,3vw,2.8rem)}.project-row p{max-width:760px;color:var(--muted)}.project-people{font-size:.86rem;font-weight:700}.publication-card{margin:0 5vw 7rem;padding:clamp(2rem,5vw,4.5rem);background:var(--forest);color:#fff}.publication-card .eyebrow{color:var(--mint)}.publication-card h2{max-width:920px}.publication-card .text-link{margin-top:1rem;color:var(--mint)}.team-list{margin:0 5vw 7rem;border-top:1px solid var(--line)}.team-card{display:grid;grid-template-columns:minmax(220px,340px) 1fr;gap:clamp(2rem,6vw,6rem);padding:4rem 0;border-bottom:1px solid var(--line)}.portrait-placeholder{display:grid;min-height:360px;place-items:center;background:linear-gradient(145deg,#d6e4dc,#a9c0b5);color:var(--forest)}.portrait-placeholder span{display:grid;width:7rem;height:7rem;place-items:center;border:1px solid rgba(23,61,50,.35);border-radius:50%;font-size:1.5rem;font-weight:800;letter-spacing:.08em}.team-copy{max-width:760px;align-self:center}.team-copy h2{margin-bottom:1.2rem}.team-copy>p:not(.eyebrow){color:var(--muted);font-size:1.04rem}.tag-list{display:flex;flex-wrap:wrap;gap:.55rem;margin:1.5rem 0 0;padding:0;list-style:none}.tag-list li{padding:.5rem .75rem;border:1px solid #bfc9c2;border-radius:999px;font-size:.76rem;font-weight:700}.contact-section{display:grid;grid-template-columns:.85fr 1.15fr;column-gap:clamp(3rem,8vw,8rem);padding:clamp(4rem,8vw,7rem) 5vw;background:var(--forest);color:#fff}.contact-intro{max-width:520px}.contact-intro .eyebrow{color:var(--mint)}.contact-intro p{color:#cbd8d1}.contact-intro a{font-weight:750;text-underline-offset:.25rem}.contact-footer-row{display:grid;grid-column:1 / -1;grid-template-columns:.85fr 1.15fr;gap:clamp(3rem,8vw,8rem);align-items:center;margin-top:2rem;padding-top:2.5rem}.contact-brand{display:block;width:fit-content}.contact-brand img{display:block;width:152px;height:auto}.contact-form{display:grid;gap:1rem}.contact-form label{display:grid;gap:.45rem;font-size:.8rem;font-weight:750}.contact-form input,.contact-form textarea{width:100%;border:1px solid #789087;border-radius:.45rem;padding:.85rem;background:#fff;color:var(--ink);font:inherit}.contact-form textarea{resize:vertical}.contact-form input:focus,.contact-form textarea:focus{outline:3px solid rgba(199,244,107,.35);border-color:var(--mint)}.contact-form .button{width:fit-content;cursor:pointer}.contact-footer-links{display:grid;grid-template-columns:repeat(3,1fr);width:100%}.contact-footer-links a{color:#fff;font-size:.85rem;font-weight:750;text-align:center;text-underline-offset:.25rem}.hidden-field{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media(max-width:900px){.product-detail,.contact-section{grid-template-columns:1fr}.contact-form{margin-top:3rem}.contact-footer-row{grid-template-columns:1fr;gap:2rem}.home-hero .platform-preview{margin:0 5vw 5vw}.product-device,.large-device{min-height:420px}.team-card{grid-template-columns:260px 1fr;gap:2rem}.portrait-placeholder{min-height:320px}}@media(max-width:620px){.brand img{width:136px}.product-detail{gap:2.5rem}.product-device,.large-device{min-height:320px;border-width:8px}.project-row{grid-template-columns:1fr;gap:.5rem}.team-card{grid-template-columns:1fr}.portrait-placeholder{min-height:300px}.future-slots{padding:2rem}.contact-footer-links a:first-child{text-align:left}.contact-footer-links a:last-child{text-align:right}}.home-hero{min-height:670px;grid-template-columns:.86fr 1.14fr}.home-hero .hero-copy{padding-block:clamp(3rem,6vw,6rem)}.home-hero .hero-copy h1{max-width:12ch;font-size:clamp(3rem,5vw,5.5rem)}.home-hero .hero-copy h1 span{display:block;white-space:nowrap}.home-hero .hero-copy .lead{max-width:620px}.home-hero .platform-preview{align-self:center;margin:2.5rem 2rem 2.5rem 0}.platform-preview{margin:0 5vw;border:1px solid var(--line);border-radius:8px;overflow:hidden;box-shadow:0 16px 35px #14322814}.platform-preview h2{margin:0;font-size:1rem;letter-spacing:0}.preview-pending{display:grid;align-content:center;justify-items:center;min-height:300px;padding:2rem;background:#e4eee8;text-align:center}.about-introduction{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem)}.about-introduction h2{font-size:clamp(2rem,3vw,3rem);line-height:1.15}.product-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2rem;padding:1.1rem 3vw}.product-header .eyebrow{margin-bottom:.5rem}.product-header h1{max-width:none;margin-bottom:.5rem;font-size:clamp(1.5rem,2.8vw,2.5rem)}.product-header-copy>p:last-child{max-width:1050px;margin:0;color:var(--muted);font-size:.95rem}.product-partner-logo{display:block;width:clamp(120px,12vw,170px);height:auto}.platform-container{width:100%;min-height:520px;height:calc(100dvh - 150px);border-block:1px solid var(--line);background:#e4eee8}.platform-pending{display:grid;align-content:center;justify-items:center;height:100%;padding:2rem;text-align:center}.platform-pending h2{max-width:650px;font-size:clamp(1.8rem,3vw,3rem);margin-bottom:.5rem}.mobile-notice{display:none}.team-portrait{display:block;width:100%;height:auto;border-radius:8px}.team-copy .institutional-role{margin-top:-.5rem;font-weight:650}:focus-visible{outline:3px solid #648926;outline-offset:4px}@media(max-width:900px){.home-hero{grid-template-columns:1fr}.home-hero .platform-preview{margin:0 5vw 5vw}}@media(max-width:767px){.about-introduction{grid-template-columns:1fr}.product-header{grid-template-columns:minmax(0,1fr) auto;gap:1rem}.product-partner-logo{width:clamp(90px,25vw,120px)}.frame-toolbar{align-items:flex-start;gap:1rem;flex-direction:column}.mobile-notice:not([hidden]){display:flex;gap:1rem;align-items:center;padding:.75rem 5vw;background:#e9edda}.mobile-notice p{margin:0;font-size:.85rem}.mobile-notice button{background:transparent;border:1px solid var(--forest);border-radius:4px;padding:.5rem;color:var(--forest);cursor:pointer}.team-portrait{max-width:380px}}.platform-embed{display:block;width:100%;height:100%;border:0}.platform-external{margin:1rem 3vw;font-size:.85rem}.platform-video{display:block;width:100%;height:auto;background:#e4eee8}.preview-caption{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.2rem;font-size:.85rem}.preview-caption p{margin:0;color:var(--muted)}.preview-caption a{flex-shrink:0}@media(max-width:620px){.preview-caption{align-items:flex-start;flex-direction:column}}.preview-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.video-toggle{padding:0;border:0;background:none;color:var(--muted);font:inherit;text-decoration:underline;text-underline-offset:.25rem;cursor:pointer}
