*{box-sizing:border-box}
:root{--ink:#071c3e;--muted:#5a6880;--teal:#008f99;--line:#e3e8ef;--bg:#f4f6fa;--card:#fff;--navy:#0c254d}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;padding-bottom:env(safe-area-inset-bottom)}
a,button{-webkit-tap-highlight-color:transparent;color:inherit}
a{text-decoration:none}
button{font:inherit;cursor:pointer}
:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
body.modal-open{overflow:hidden}

.header{position:sticky;top:0;z-index:5;background:rgba(255,255,255,.92);backdrop-filter:saturate(1.6) blur(10px);-webkit-backdrop-filter:saturate(1.6) blur(10px);border-bottom:1px solid var(--line);padding:calc(10px + env(safe-area-inset-top)) 16px 10px}
.brand{display:flex;align-items:center;gap:10px;max-width:560px;margin:0 auto;font-size:16px;font-weight:600;letter-spacing:-.2px}
.brand b{color:var(--teal);font-weight:600}
.logo{width:30px;height:30px;flex-shrink:0}

main{max-width:560px;margin:0 auto;padding:0 16px}
.intro{padding:28px 4px 20px}
.event{font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--teal);margin:0 0 10px}
h1{font-size:32px;line-height:1.1;letter-spacing:-1px;margin:0 0 10px}
.lead{color:var(--muted);margin:0;font-size:16px}
.lead em{font-style:normal;color:var(--ink);font-weight:600}

.authors{display:grid;gap:14px}
.author{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px}
.author-head{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.avatar{width:48px;height:48px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:700;font-size:16px;flex-shrink:0}
.avatar.alt{background:var(--teal)}
.author h2{font-size:19px;line-height:1.25;margin:0;letter-spacing:-.3px}
.role{margin:2px 0 0;color:var(--muted);font-size:14px}

.links{display:grid;gap:10px}
.btn{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:12px 16px;border-radius:12px;border:1px solid #cdd5e1;background:#fff;font-weight:600;font-size:16px;text-align:center;transition:background .15s,transform .1s}
.btn:active{transform:scale(.98)}
.btn .icon{width:22px;height:22px;flex-shrink:0}
.btn .email{min-width:0;overflow-wrap:break-word;font-size:15px;text-align:left}
.whatsapp{background:#25d366;border-color:#25d366;color:#fff}
.linkedin{background:#0a66c2;border-color:#0a66c2;color:#fff}
.primary{background:var(--navy);border-color:var(--navy);color:#fff;width:100%}
.minor{display:flex;justify-content:center;gap:24px;padding-top:4px}
.minor a{color:#006180;font-weight:600;font-size:15px;padding:8px 4px;text-decoration:underline;text-underline-offset:4px}

.research{margin:28px 0 8px;padding:24px 4px 0;border-top:1px solid var(--line)}
.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--teal);margin:0 0 8px}
.research h2{font-size:24px;line-height:1.15;letter-spacing:-.6px;margin:0 0 8px}
.research>p{color:var(--muted);margin:0 0 16px}
figure{margin:0 0 16px}
figure img{width:100%;height:auto;aspect-ratio:1.5;object-fit:cover;border-radius:14px;display:block}
figcaption{font-size:12px;color:var(--muted);text-align:center;margin-top:6px}
.stat{display:flex;align-items:center;gap:14px;background:#e9f5f5;border-radius:12px;padding:14px 16px;margin-bottom:14px}
.stat strong{font-size:28px;color:#006b73;letter-spacing:-1px}
.stat span{font-size:14px;color:#2d4a5a;line-height:1.35}

footer{max-width:560px;margin:0 auto;padding:24px 20px 32px;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:12px;color:#7b8ba5;letter-spacing:.5px}

dialog{width:min(720px,100%);max-width:100%;max-height:92vh;margin:auto auto 0;border:0;border-radius:18px 18px 0 0;padding:0;color:var(--ink);box-shadow:0 -10px 60px #00132940}
dialog::backdrop{background:#00142b99}
.dialog-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px 12px 20px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:1}
.dialog-header .eyebrow{margin:0}
.close{border:0;background:#eef3f6;border-radius:50%;width:40px;height:40px;font-size:26px;line-height:1;color:var(--ink);flex-shrink:0}
.dialog-body{padding:20px 20px calc(28px + env(safe-area-inset-bottom))}
.dialog-body h2{font-size:21px;line-height:1.25;margin:0 0 10px}
.dialog-body p{color:#53627a;font-size:15px}
.dialog-body .authors{font-size:14px;margin:0 0 2px;color:var(--ink);font-weight:600}
.paper-id{font-size:12px!important;margin-top:0}
.dialog-body h3{font-size:17px;margin:24px 0 0}
.table-wrap{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:14px;white-space:nowrap}
caption{text-align:left;font-size:13px;margin:8px 0;color:var(--muted)}
th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line)}
thead th{font-weight:600;background:#f3f6fa}
.highlight{background:#e9f5f5;color:#006b73}
.dialog-body>.btn{margin-top:12px}

@media(min-width:720px){
  .intro{padding-top:48px}
  h1{font-size:40px}
  dialog{margin:auto;border-radius:18px;max-height:88vh}
  .btn:hover{filter:brightness(.96)}
  .minor a:hover{text-decoration-thickness:2px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
