@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src:url(fonts/jost-latin-ext-400-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src:url(fonts/jost-latin-400-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src:url(fonts/jost-latin-ext-500-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src:url(fonts/jost-latin-500-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src:url(fonts/jost-latin-ext-600-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src:url(fonts/jost-latin-600-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'Quicksand';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src:url(fonts/quicksand-latin-ext-500-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'Quicksand';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src:url(fonts/quicksand-latin-500-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
/* Dragoș Pârgaru — site styles */
:root{
  --ink:#111111; --text:#3A3A3A; --muted:#767676; --rule:#E4E6E6; --bg:#FFFFFF; --soft:#F4F6F6;
  --night:#081214; --night-2:#0C1B1E; --on-night:#E9EFEF; --on-night-muted:#9DB0B3;
  --teal:#12B5C9; --teal-deep:#062E33; --teal-ink:#0A7C8B;
  --sans:"Jost","Futura PT",Futura,"Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif;
  --soft-sans:"Quicksand","Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif;
  --wrap:1160px; --gutter:clamp(20px,5vw,48px);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:17px;line-height:1.65;font-weight:400;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--sans);font-weight:600;color:var(--ink);margin:0;text-wrap:balance;letter-spacing:-.005em}
p{margin:0}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:var(--gutter)}
.skip{position:absolute;left:-9999px;top:0;background:var(--teal);color:#041417;padding:10px 16px;z-index:10}
.skip:focus{left:16px;top:16px}
:focus-visible{outline:2px solid var(--teal);outline-offset:3px}

/* ---------- header + hero (dark) ---------- */
.dark{background:var(--night);color:var(--on-night)}
.site-head{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:26px}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:#fff}
.brand svg{width:46px;height:auto}
.brand span{font-weight:600;font-size:17px;letter-spacing:.02em;white-space:nowrap}
.nav{display:flex;align-items:center;gap:28px;font-family:var(--soft-sans);font-weight:500;font-size:15px}
.nav a{text-decoration:none;color:var(--on-night-muted);transition:color .2s}
.nav a:hover{color:#fff}
.lang{border:1px solid rgba(255,255,255,.28);padding:4px 11px;letter-spacing:.08em;color:#fff !important;font-size:13px}
.lang:hover{border-color:var(--teal)}
@media (max-width:860px){.nav .n{display:none}}

.hero{position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(to bottom,rgba(18,181,201,.045) 0 1px,transparent 1px 7px);
  -webkit-mask-image:linear-gradient(to left,#000 0%,transparent 70%);mask-image:linear-gradient(to left,#000 0%,transparent 70%)}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(32px,6vw,88px);align-items:center;padding-block:clamp(40px,7vw,96px) clamp(64px,9vw,128px)}
@media (max-width:860px){.hero-grid{grid-template-columns:1fr}.hero-mark{order:-1;max-width:260px}}
.eyebrow{font-family:var(--soft-sans);font-weight:500;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--teal-ink)}
.dark .eyebrow{color:var(--teal)}
.hero h1{color:#fff;font-size:clamp(34px,4.6vw,58px);line-height:1.08;margin:0 0 28px;max-width:17ch}
.lead{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-size:clamp(16px,1.4vw,18px);line-height:1.5;color:var(--on-night-muted);max-width:56ch}
.lead li{position:relative;padding-left:26px}
.lead li::before{content:"";position:absolute;left:0;top:.72em;width:14px;height:2px;background:var(--teal)}
.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}
.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;font-family:var(--sans);font-weight:500;font-size:16px;text-decoration:none;transition:background .2s,border-color .2s,color .2s}
.btn-primary{background:var(--teal);color:#04171A}
.btn-primary:hover{background:#3FCADB}
.btn-ghost{border:1px solid rgba(255,255,255,.3);color:#fff}
.btn-ghost:hover{border-color:var(--teal)}
.hero-mark{width:100%;justify-self:center}
.hero-mark svg{width:100%;height:auto;overflow:visible}

/* scan-line entrance */
.band{animation:band .9s cubic-bezier(.2,.75,.2,1) both}
.b1{animation-delay:.05s}.b2{animation-delay:.12s}.b3{animation-delay:.19s}.b5{animation-delay:.26s}.b6{animation-delay:.33s}.b7{animation-delay:.40s}
.b4{animation:band4 1.3s cubic-bezier(.2,.8,.2,1) .55s both}
@keyframes band{from{transform:translateX(-18px);opacity:0}to{transform:none;opacity:1}}
@keyframes band4{0%{transform:translateX(-30px);opacity:0}60%{transform:translateX(4px);opacity:1}100%{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.band,.b4{animation:none}}

/* ---------- sections ---------- */
section{padding-block:clamp(64px,9vw,112px)}
.section-head{display:grid;gap:14px;margin-bottom:clamp(36px,5vw,56px);max-width:760px}
.section-head h2{font-size:clamp(28px,3.4vw,42px);line-height:1.12}
.tick{display:block;width:44px;height:4px;background:var(--teal);margin-bottom:18px}

.groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(32px,5vw,72px)}
@media (max-width:760px){.groups{grid-template-columns:1fr}}
.group h3{font-size:22px;font-weight:500;margin-bottom:8px}
.item{border-top:1px solid var(--rule);padding-block:20px;display:grid;gap:4px}
.item h4{margin:0;font-family:var(--sans);font-weight:500;font-size:18px;color:var(--ink)}
.item p{font-size:16px;color:var(--text)}

.soft{background:var(--soft)}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media (max-width:860px){.cards{grid-template-columns:1fr}}
.card{background:#fff;padding:28px 26px 30px;border-top:3px solid var(--teal-deep);display:grid;gap:10px;align-content:start}
.card h3{font-size:20px;font-weight:500}
.card p{font-size:16px}

.about{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr);gap:clamp(32px,6vw,96px);align-items:start}
@media (max-width:860px){.about{grid-template-columns:1fr}}
.about .prose{display:grid;gap:18px;font-size:18px;max-width:60ch}
.facts{margin:0;display:grid;gap:0;border-top:1px solid var(--rule)}
.facts div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:12px;padding-block:14px;border-bottom:1px solid var(--rule)}
.facts dt{font-family:var(--soft-sans);font-weight:500;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding-top:3px}
.facts dd{margin:0;color:var(--ink);font-weight:500}

.pubs{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.pubs li{display:grid;grid-template-columns:80px minmax(0,1fr);gap:18px;padding-block:20px;border-bottom:1px solid var(--rule)}
@media (max-width:560px){.pubs li{grid-template-columns:48px minmax(0,1fr);gap:12px}}
.pubs .yr{font-family:var(--soft-sans);font-weight:500;color:var(--teal-ink);font-variant-numeric:tabular-nums;padding-top:2px}
.pubs .t{font-weight:500;color:var(--ink);font-size:18px;line-height:1.4}
.pubs .v{font-size:15px;color:var(--muted);margin-top:4px}

/* ---------- contact + footer (dark) ---------- */
.contact h2{color:#fff;font-size:clamp(28px,3.6vw,44px);line-height:1.12;max-width:20ch}
.contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:clamp(36px,5vw,56px);border-top:1px solid rgba(255,255,255,.14);padding-top:32px}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr}}
.ci{display:grid;gap:6px;min-width:0}
.ci .l{font-family:var(--soft-sans);font-weight:500;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--on-night-muted)}
.ci a,.ci span.v{font-size:clamp(18px,1.9vw,22px);font-weight:500;color:#fff;text-decoration:none;overflow-wrap:anywhere}
.ci a{background:linear-gradient(var(--teal),var(--teal)) 0 100%/0 2px no-repeat;transition:background-size .3s}
.ci a:hover{background-size:100% 2px}
.note{margin-top:32px;color:var(--on-night-muted);font-size:15px}
.site-foot{border-top:1px solid rgba(255,255,255,.1);padding-block:28px;margin-inline:auto;display:flex;flex-wrap:wrap;gap:14px 28px;align-items:center;justify-content:space-between;font-family:var(--soft-sans);font-size:14px;color:var(--on-night-muted)}
.site-foot .fl{display:flex;align-items:center;gap:12px}
.site-foot svg{width:30px;height:auto}
.site-foot a{color:var(--on-night-muted);text-decoration:none}
.site-foot a:hover{color:#fff}
.disc{width:100%;font-size:13px;color:#6F8487}

/* ---------- privacy page ---------- */
.legal{padding-block:clamp(48px,7vw,88px)}
.legal h1{font-size:clamp(32px,4vw,48px);margin-bottom:6px}
.legal .upd{color:var(--muted);font-family:var(--soft-sans);font-size:14px;margin-bottom:40px}
.legal h2{font-size:21px;font-weight:500;margin:32px 0 8px}
.legal p{max-width:68ch}
.legal .back{display:inline-block;margin-top:48px;color:var(--teal-ink);text-decoration:none;font-weight:500}

/* chips + who (v2) */
.chips{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.chips li{font-size:14.5px;line-height:1.3;padding:6px 11px;border:1px solid var(--rule);color:var(--text);background:#fff}
.chips li.more{border-color:transparent;background:none;color:var(--muted);padding-inline:4px}
.item{gap:6px}
.who{margin-top:clamp(56px,7vw,88px);padding-top:clamp(40px,5vw,56px);border-top:1px solid var(--rule)}
.sub-h{font-size:clamp(24px,2.6vw,32px);line-height:1.15;margin-bottom:28px}
.who .card{background:var(--soft)}

/* v3 */
.lead{display:grid;gap:12px;border-left:2px solid var(--teal);padding-left:22px;max-width:56ch}
.lead p{font-size:clamp(16px,1.4vw,18px);line-height:1.5;color:var(--on-night-muted)}
.pgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(32px,5vw,72px)}
.pgrid .ghead{padding-bottom:6px}
.pgrid .ghead h3{font-size:22px;font-weight:500}
.pgrid .item{border-top:1px solid var(--rule);padding-block:22px 26px;display:block}
.pgrid .item h4{margin:0 0 8px}
.pgrid .list{font-size:16px;line-height:1.75;color:var(--text)}
@media (max-width:760px){.pgrid{display:flex;flex-direction:column}.pgrid>*{grid-column:auto!important;grid-row:auto!important}.pgrid .ghead[style*="order:10"]{margin-top:40px}}
.wgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(32px,5vw,72px)}
@media (max-width:760px){.wgrid{grid-template-columns:1fr}}
.wcard{border-top:1px solid var(--rule);padding-block:22px 28px;display:grid;gap:8px;align-content:start}
.wcard h3{font-size:19px;font-weight:500}
.wcard p{font-size:16px}
.about2{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,4vw,56px)}
.about2 .ablock{display:grid;gap:14px;align-content:start}
.about2 .ablock:first-child{grid-column:span 1}
.about2 h3{font-size:19px;font-weight:500;padding-top:18px;border-top:2px solid var(--teal);align-self:start}
.about2 p{font-size:16.5px;line-height:1.7}
@media (max-width:960px){.about2{grid-template-columns:1fr}}

/* v4 academic */
.pgroups{display:grid;gap:clamp(40px,5vw,64px)}
.pgroup h3{font-size:20px;font-weight:500;margin-bottom:14px;display:flex;align-items:center;gap:12px}
.pgroup h3::before{content:"";width:28px;height:3px;background:var(--teal);flex:none}
.pgroup .pubs li{padding-block:14px}
.pgroup .pubs .t{font-size:16.5px}
.pgroup .pubs .v{font-size:14.5px;margin-top:3px}
.about2 .ablock:last-child{grid-column:auto}

/* v5 */
.sub-h{font-size:clamp(28px,3.4vw,42px);line-height:1.12}
.about2{grid-template-columns:1fr;gap:0}
.about2 .ablock{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:clamp(20px,4vw,64px);padding-block:32px;border-top:1px solid #DADEDE}
.about2 .ablock:last-child{border-bottom:1px solid #DADEDE}
.about2 h3{border-top:none;padding-top:0;display:flex;align-items:center;gap:12px}
.about2 h3::before{content:"";width:28px;height:3px;background:var(--teal);flex:none}
.about2 .ablock>div,.about2 .ablock p{max-width:72ch}
.about2 .ablock .txt{display:grid;gap:14px}
@media (max-width:760px){.about2 .ablock{grid-template-columns:1fr;gap:14px}}
.pgroup .pubs .t{font-weight:600}
