:root{--bg:#fffef5;--ink:#111;--navy:#17335f;--char:#3a3a3a;--blue:#3f628f;--mint:#7ff0c0;--green:#1e7d3c}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:300 18px/1.5 Jost,"Josefin Sans",system-ui,sans-serif;overflow-x:hidden}
#grid{position:fixed;inset:0;width:100vw;height:100vh;z-index:-1;opacity:.55;pointer-events:none}
.wm{font-family:"Playfair Display",Georgia,serif;font-style:italic;font-weight:400;white-space:nowrap;text-decoration:none}
nav{position:fixed;top:0;left:0;right:0;z-index:50;padding:24px 16px 14px;background:linear-gradient(var(--bg) 62%,transparent)}
.bar{max-width:1160px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;border-radius:18px;padding:22px 44px;background:linear-gradient(100deg,#3a3a3a 0%,#3c4f6b 45%,#40648f 100%);box-shadow:0 6px 18px rgba(0,0,0,.18)}
.bar .wm{color:#fff;font-size:28px}
.bar div{display:flex;gap:56px}
.bar a.l{color:#fff;font-size:22px;font-weight:300;text-decoration:none;letter-spacing:.01em}
.bar a.l:hover{text-decoration:underline;text-underline-offset:6px}
.hero{position:sticky;top:0;height:100vh;max-width:1160px;margin:0 auto;padding:110px 16px 0;display:grid;grid-template-columns:1.05fr 1fr;align-items:center}
.hero .txt{position:relative;z-index:5;padding-bottom:40px}
.hero h1{font-weight:300;font-size:clamp(34px,min(4vw,6.5vh),58px);line-height:1.45;margin:0 0 18px;color:var(--ink)}
.hero h1 .n{color:var(--navy)}.hero h1 em{font-style:italic;font-weight:300;color:var(--ink)}
.hero p{font-size:clamp(18px,1.9vw,24px);margin:0 0 30px;color:#111}
.hero p .wm{font-size:1.05em}
.cta{display:inline-block;padding:16px 26px;color:#fff;font:400 24px Jost,sans-serif;text-decoration:none;background:linear-gradient(90deg,#3d5a80,#1f7a3a);box-shadow:0 6px 16px rgba(23,51,95,.25)}
.art{position:relative;align-self:end;height:min(74vh,640px);display:flex;justify-content:center;align-items:flex-end}
.art .statue{position:relative;z-index:3;height:100%;width:auto;max-width:none;filter:drop-shadow(0 18px 18px rgba(0,0,0,.28))}
.wave{z-index:1;pointer-events:none;width:min(62vw,820px);right:-14vw;top:-130px;opacity:.95}
.art:after{content:"";position:absolute;z-index:2;bottom:-6px;right:-3%;width:75%;height:18px;background:radial-gradient(ellipse at center,rgba(0,0,0,.45),transparent 70%)}
@media(max-width:900px){.hero{grid-template-columns:1fr;height:auto;position:relative}.art{height:420px}.bar{padding:16px 22px}.bar div{gap:18px}.bar a.l{font-size:15px}.bar .wm{font-size:22px}.wave{width:90vw;right:-30vw;top:-60px}}
@media(max-width:520px){nav{padding-top:12px}.bar div{gap:11px}.bar a.l{font-size:12px}.bar .wm{font-size:18px}}
@media(max-width:900px){.hero{padding-top:120px}.hero .txt{padding-bottom:0}.hero h1{font-size:clamp(30px,8vw,44px);line-height:1.3;overflow-wrap:break-word}.art{height:auto;justify-content:center}.art .statue{height:auto;width:min(100%,380px)}.wave{opacity:.7}}

/* v2 pages */
.pin{height:200vh;position:relative;z-index:5}
@media(max-width:900px){.pin{height:auto}}
.hero .small{margin-top:18px;font-size:16px;color:#333}.hero .small a{color:var(--navy)}
.wave{position:fixed;top:-110px;right:-14vw;will-change:transform,opacity}
.dd{position:relative;display:inline-block}.dd .menu{display:none;position:absolute;left:-14px;top:100%;padding-top:14px;z-index:60}
.dd:hover .menu,.dd:focus-within .menu{display:block}
.dd .menu a{display:block;white-space:nowrap;background:#3c4f6b;color:#fff;text-decoration:none;font-size:18px;padding:11px 20px}
.dd .menu a:first-child{border-radius:12px 12px 0 0}.dd .menu a:last-child{border-radius:0 0 12px 12px}.dd .menu a:hover{background:#40648f}
.sec{position:relative;z-index:5;max-width:1160px;margin:0 auto;padding:12vh 16px 0}
.sec.first{padding-top:200px;min-height:80vh}.sec.last{padding-bottom:12vh}
.sec h1,.sec h2{font-weight:300;font-size:clamp(40px,5vw,68px);margin:0 0 22px;line-height:1.1}.n{color:var(--navy)}
.sec h3{font-weight:400}
.blurb{font-size:22px;max-width:none;margin:0 0 14px}
.pills{display:flex;flex-wrap:wrap;gap:22px}
.pills span{padding:20px 34px;border-radius:26px;color:#fff;font-size:22px;background:linear-gradient(100deg,#3a3a3a,#40648f);box-shadow:0 8px 18px rgba(0,0,0,.18);opacity:0;transform:translateY(24px);transition:opacity .6s,transform .6s}
.pills span.in{opacity:1;transform:none}.pills span:nth-child(2){transition-delay:.08s}.pills span:nth-child(3){transition-delay:.16s}.pills span:nth-child(4){transition-delay:.24s}.pills span:nth-child(5){transition-delay:.32s}
.rv{opacity:0;transform:translateY(34px);transition:opacity .8s,transform .8s}.rv.in{opacity:1;transform:none}
.tabs{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:28px}
.tab{border:0;cursor:pointer;font:300 22px Jost,sans-serif;padding:12px 28px;border-radius:26px;background:rgba(58,58,58,.12);color:var(--ink)}
.tab.on{color:#fff;background:linear-gradient(100deg,#3a3a3a,#40648f)}
.phead{display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between;margin-bottom:26px}
.ph2{font-size:clamp(26px,3vw,38px);line-height:1.2}.ph2 em{font-style:italic;color:var(--navy)}
.seg{display:inline-flex;background:rgba(58,58,58,.12);border-radius:99px;padding:4px}
.seg button{border:0;background:none;border-radius:99px;padding:10px 22px;font:300 17px Jost,sans-serif;cursor:pointer;color:var(--ink)}
.seg button.on{background:linear-gradient(100deg,#3a3a3a,#40648f);color:#fff}
.prod{display:grid;gap:32px;align-items:start}
@media(min-width:900px){.prod{grid-template-columns:1fr 1.1fr;gap:56px}}
.f{padding:16px 0;border-top:1px solid rgba(23,51,95,.2)}.f h3{font-size:22px;margin:0 0 6px}.f p{margin:0;font-size:18px;color:#333}
.demo iframe{display:none;width:100%;height:520px;border:2px solid var(--navy);border-radius:18px;background:#0b1017;box-shadow:0 22px 44px rgba(23,51,95,.3)}
.demo iframe.fixed{display:none;height:640px;border:0;border-radius:0;background:transparent;box-shadow:none}
.demobtn{display:flex;justify-content:center;background:#0b1017;color:#fff;padding:40px 24px;border-radius:18px;text-decoration:none;font-size:18px}
@media(min-width:768px){.demo iframe,.demo iframe.fixed{display:block}.demobtn{display:none}}
[hidden]{display:none!important}
.player{position:relative;border:2px solid var(--navy);border-radius:18px;overflow:hidden;background:var(--bg);box-shadow:0 22px 44px rgba(23,51,95,.3)}
.playov{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;border:0;cursor:pointer;background:rgba(23,51,95,.5);backdrop-filter:blur(2px);color:#fff;font:400 18px Jost,sans-serif}
.playov[hidden]{display:none}
.playbtn{width:84px;height:84px;border-radius:50%;background:linear-gradient(90deg,#3d5a80,#1f7a3a);display:grid;place-items:center;font-size:32px;padding-left:6px;box-shadow:0 10px 26px rgba(0,0,0,.35)}
.tagl{margin-top:40px}.tagl p{font-size:22px;margin:0 0 14px}.tagl small{display:block;margin-top:14px;font-size:15px;color:#555}
.ex{background:rgba(255,255,255,.85);border:1px solid rgba(23,51,95,.2);border-radius:16px;padding:24px;box-shadow:0 8px 20px rgba(0,0,0,.08)}
.eb{font-size:26px;margin-bottom:12px}.ex .eb{font-size:16px;color:#555}
.exr{padding:14px 0;border-top:1px solid rgba(23,51,95,.15)}.exr span{display:block;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#666;margin-bottom:6px}
.exr p{margin:0;font-size:20px;line-height:1.4}.exr .dev{color:#888;text-decoration:line-through}
.exr.us{background:rgba(127,240,192,.35);border-radius:10px;padding:14px;margin-top:6px;border-top:0}.exr.us p{font-weight:400}
.mins{display:grid;gap:16px;margin-top:26px}@media(min-width:768px){.mins{grid-template-columns:repeat(3,1fr)}}
.mini{background:rgba(255,255,255,.7);border:1px solid rgba(23,51,95,.2);border-radius:14px;padding:20px}.mini b{display:block;font-weight:400;font-size:20px;color:var(--navy);margin-bottom:6px}.mini span{font-size:17px}
.cta{display:inline-block;padding:16px 26px;color:#fff;font:400 24px Jost,sans-serif;text-decoration:none;background:linear-gradient(90deg,#3d5a80,#1f7a3a);box-shadow:0 6px 16px rgba(23,51,95,.25);border:0;cursor:pointer}
.logobox{margin-top:36px;padding:32px 24px;text-align:center;background:rgba(255,255,255,.7);border:1px solid rgba(23,51,95,.15);border-radius:18px}
.logobox .eb{font-size:16px;color:#555}
.logos{display:flex;flex-wrap:wrap;gap:20px 44px;justify-content:center;align-items:center;list-style:none;padding:0;margin:18px 0 0}
.logos img{height:30px;width:auto;max-width:150px;filter:grayscale(1);opacity:.8}.logos img.inv{filter:brightness(0);height:46px}.logos img[alt=Philips]{height:22px}
.forms{display:grid;gap:24px;margin-top:28px}@media(min-width:800px){.forms{grid-template-columns:1fr 1fr}}
.card{background:rgba(255,255,255,.8);border:1px solid rgba(23,51,95,.15);border-radius:18px;padding:26px;box-shadow:0 8px 20px rgba(0,0,0,.08)}
.card h3{margin:0 0 4px;font-size:24px}
label{display:block;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#555;margin:14px 0 4px}
input,select,textarea{width:100%;border:0;border-bottom:1px solid rgba(23,51,95,.3);background:transparent;padding:10px 0;font:300 18px Jost,sans-serif;color:var(--ink)}
.sub{margin-top:22px;width:100%;border:0;cursor:pointer;color:#fff;padding:14px;font:400 20px Jost,sans-serif;background:linear-gradient(90deg,#3d5a80,#1f7a3a)}
.note{font-size:14px;color:var(--navy);margin-top:10px;min-height:1em}
.posts{display:grid;gap:20px}@media(min-width:800px){.posts{grid-template-columns:repeat(3,1fr)}}
.post{opacity:.85}.post .eb{font-size:14px;color:#666}.post p{color:#555;font-size:17px}
.story{max-width:960px}.story p{font-size:21px;line-height:1.65;margin:0 0 16px}.story h3{font-size:30px;margin:44px 0 12px}.story .k{font-size:28px;color:var(--navy);margin:32px 0 16px}
.cake{margin:40px auto;max-width:640px;display:grid;grid-template-columns:1fr auto;column-gap:14px;row-gap:8px}
.cake .l{grid-column:1;display:flex;align-items:center;justify-content:center;min-height:64px;border-radius:16px;border:2px solid rgba(23,51,95,.2);background:rgba(255,255,255,.7);color:#777;font-size:20px;text-align:center}
.cake .l.us{background:linear-gradient(100deg,#3a3a3a,#40648f);color:#fff;border-color:transparent}.cake .l.tall{min-height:120px}
.cake .brk{grid-column:2;grid-row:1/4;display:flex;flex-direction:column;justify-content:center;padding:0 16px 0 14px;border:3px solid #1f7a3a;border-left:0;border-radius:0 16px 16px 0}
.cake .brk .wm{font-size:26px;color:#1f7a3a}.cake .brk small{font-size:14px;margin-top:6px;max-width:110px;color:#333}
.jh{margin:8px 0 28px;padding:18px 24px;border-left:4px solid #1f7a3a;background:rgba(127,240,192,.25);border-radius:0 14px 14px 0}.jh p{margin:0 0 8px;font-size:21px;font-style:italic}.jh cite{font-size:15px;font-style:normal;color:#444}.jh cite a{color:var(--navy)}
footer{position:relative;z-index:5;max-width:1160px;margin:0 auto;padding:60px 16px 30px;display:flex;justify-content:space-between;color:#444}
@media(max-width:900px){.sec{padding-top:9vh}.sec.first{padding-top:130px}.pills span{padding:14px 22px;font-size:18px}.blurb{font-size:19px}.story p{font-size:18px}.bar div{align-items:center}.dd .menu{left:auto;right:0}}
@media(prefers-reduced-motion:reduce){.rv,.pills span{opacity:1;transform:none;transition:none}}
html{overflow-x:hidden}
/* tighter spacing */
.pin{height:150vh}
.sec{padding-top:72px}.sec.last{padding-bottom:48px}
#research{margin-top:-18vh;padding-top:0}
.sec h1,.sec h2{margin-bottom:16px}
.tabs{margin-bottom:18px}.phead{margin-bottom:14px}.tagl{margin-top:24px}
.f{padding:12px 0}.logobox{margin-top:22px;padding:22px}
footer{padding-top:40px}
@media(max-width:900px){.sec{padding-top:48px}.sec.first{padding-top:120px}#research{margin-top:0}}
/* subline, honeypot, footer link */
.hero p.sub1{font-size:clamp(20px,2.1vw,28px);text-wrap:balance;font-weight:400;margin:0 0 8px;color:var(--navy);line-height:1.3}
.hero p.sub2{font-size:clamp(17px,1.7vw,21px);margin:0 0 30px;color:#222}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
footer a{color:inherit}
