:root{--bg:#f6f8fc;--card:#fff;--ink:#16203a;--ink-soft:#3d4a63;--muted:#697488;--line:#16203a1a;--line-strong:#16203a29;--brand:#2457c5;--brand-dark:#1a3f92;--brand-soft:#2457c514;--brand-line:#2457c53d;--accent:#a4761c;--accent-soft:#a4761c1a;--accent-line:#a4761c52;--r-sm:10px;--r-md:14px;--r-lg:20px;--pill:999px;--shadow-sm:0 1px 2px #16203a0a, 0 6px 18px #16203a0d;--shadow-md:0 10px 30px #16203a14;--shadow-lg:0 18px 44px #16203a1f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:radial-gradient(1100px 460px at 50% -160px, var(--brand-soft), transparent 70%), var(--bg);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif;font-size:16px;line-height:1.68}a{color:var(--brand);text-decoration:none}a:hover{color:var(--brand-dark);text-decoration:underline}.site-shell{width:min(1040px,100% - 32px);margin:0 auto;padding:34px 0 48px}.hero{border:1px solid var(--line);border-top:2px solid var(--accent-line);border-radius:var(--r-lg);background:var(--card);box-shadow:var(--shadow-md);grid-template-columns:minmax(0,1fr) 150px;align-items:center;gap:32px;margin-bottom:26px;padding:38px;display:grid}h1{color:var(--ink);letter-spacing:-.04em;margin:0;font-size:clamp(2.1rem,5vw,3.6rem);font-weight:750;line-height:1.04}.hero-subtitle{max-width:700px;color:var(--ink-soft);margin:16px 0 0;font-size:clamp(1.02rem,1.7vw,1.18rem);line-height:1.6}.hero-actions,.site-nav{flex-wrap:wrap;gap:10px;display:flex}.hero-actions{margin-top:24px}.headshot{border:1px solid var(--line);border-radius:var(--r-lg);object-fit:cover;width:150px;height:150px;box-shadow:var(--shadow-md)}.button{border:1px solid var(--line-strong);border-radius:var(--pill);min-height:40px;color:var(--ink);background:var(--card);cursor:pointer;justify-content:center;align-items:center;padding:9px 16px;font-size:.94rem;font-weight:650;transition:border-color .15s,color .15s,background .15s,box-shadow .15s;display:inline-flex}.button:hover{border-color:var(--brand-line);color:var(--brand-dark);text-decoration:none}.button.primary{color:#fff;background:var(--brand);box-shadow:var(--shadow-sm);border-color:#0000}.button.primary:hover{color:#fff;background:var(--brand-dark)}.button.ghost{background:0 0}.site-nav{border-top:1px solid var(--line);grid-column:1/-1;padding-top:22px}.site-nav a,.site-nav .nav-chip{border:1px solid var(--line);border-radius:var(--pill);color:var(--ink-soft);background:var(--card);padding:7px 13px;font-size:.86rem;font-weight:600;transition:border-color .15s,color .15s,background .15s}.site-nav .nav-chip{font-family:inherit;line-height:inherit;cursor:pointer}.site-nav a:hover,.site-nav .nav-chip:hover{color:#fff;background:var(--brand);border-color:#0000;text-decoration:none}.resource-modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#16203a73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.resource-modal{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--card);width:min(420px,100%);box-shadow:var(--shadow-lg);padding:26px 26px 24px;position:relative}.resource-modal h2{margin:0 0 14px;font-size:1.25rem}.resource-modal-close{border-radius:var(--pill);width:32px;height:32px;color:var(--ink-soft);cursor:pointer;background:0 0;border:none;font-size:1.4rem;line-height:1;transition:background .15s,color .15s;position:absolute;top:12px;right:14px}.resource-modal-close:hover{color:var(--ink);background:var(--line)}.resource-form{flex-direction:column;gap:14px;display:flex}.resource-form p{color:var(--ink-soft);margin:0;font-size:.92rem}.resource-form label{color:var(--ink-soft);flex-direction:column;gap:6px;font-size:.9rem;font-weight:650;display:flex}.resource-form input{border:1px solid var(--line-strong);border-radius:var(--r-sm);width:100%;color:var(--ink);font:inherit;background:var(--card);padding:10px 12px;transition:border-color .15s,box-shadow .15s}.resource-form input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);outline:none}.resource-form button{justify-self:start}.resource-form button:disabled{cursor:wait;opacity:.72}.resource-list{flex-direction:column;gap:8px;margin:4px 0 0;padding-left:20px;font-weight:600;display:flex}section{border:1px solid var(--line);border-top:2px solid var(--accent-line);border-radius:var(--r-lg);background:var(--card);box-shadow:var(--shadow-sm);margin:20px 0;padding:28px}h2{color:var(--ink);letter-spacing:-.02em;margin:0 0 18px;font-size:clamp(1.28rem,2.1vw,1.6rem);font-weight:720;line-height:1.2}h3{color:var(--ink);margin:20px 0 7px;font-size:1.01rem;font-weight:700}ul{padding-left:1.2rem}li{margin:.28rem 0}.timeline{flex-direction:column;gap:30px;max-width:920px;margin:14px auto 4px;padding:12px 0;display:flex;position:relative}.timeline:before{content:"";border-radius:var(--pill);background:var(--line-strong);width:2px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.timeline-item{grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr);align-items:start;min-height:96px;display:grid;position:relative}.timeline-dot{z-index:1;border:4px solid var(--brand);background:var(--card);width:16px;height:16px;box-shadow:0 0 0 5px var(--brand-soft);border-radius:50%;grid-column:2;justify-self:center;margin-top:20px}.timeline-card{border:1px solid var(--line);border-radius:var(--r-md);background:var(--card);box-shadow:var(--shadow-sm);padding:18px 20px;position:relative}.timeline-card:after{content:"";background:var(--line-strong);width:32px;height:2px;position:absolute;top:28px}.timeline-left .timeline-card{text-align:right;grid-column:1}.timeline-left .timeline-card:after{right:-32px}.timeline-right .timeline-card{grid-column:3}.timeline-right .timeline-card:after{left:-32px}.timeline-date{border-radius:var(--pill);width:fit-content;color:var(--accent);letter-spacing:.01em;background:var(--accent-soft);margin-bottom:9px;padding:3px 10px;font-size:.78rem;font-weight:700;line-height:1.3;display:inline-flex}.timeline-left .timeline-date{margin-left:auto}.timeline-card h3{color:var(--ink);margin:0 0 6px;font-size:1.05rem;font-weight:740;line-height:1.25}.timeline-org{color:var(--brand-dark);margin-bottom:8px;font-size:.94rem;font-weight:650}.timeline-card p,.timeline-card ul{color:var(--ink-soft);margin:0 0 10px;font-size:.92rem;line-height:1.55}.timeline-card ul{padding-left:1.05rem}.timeline-left .timeline-card ul{direction:rtl;padding-left:0;padding-right:1.05rem}.timeline-left .timeline-card li{direction:ltr}.timeline-card>:last-child{margin-bottom:0}.highlight-section{box-shadow:none;background:0 0;border:0;padding:0}.highlight-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;display:grid}.highlight-card{border:1px solid var(--line);border-top:2px solid var(--accent-line);border-radius:var(--r-md);background:var(--card);box-shadow:var(--shadow-sm);padding:18px}.highlight-card h3{color:var(--ink);margin:0 0 8px;font-size:.94rem;font-weight:720}.highlight-card p{color:var(--muted);margin:0;font-size:.89rem;line-height:1.55}.consulting-section{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);align-items:start;gap:26px;display:grid}.consulting-copy p{color:var(--ink-soft);margin:0;font-size:.98rem;line-height:1.6}.consulting-booking{flex-direction:column;align-items:flex-start;gap:10px;margin-top:20px;display:flex}.consulting-booking p{color:var(--ink);font-weight:600}.consulting-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.consulting-form label{color:var(--ink-soft);flex-direction:column;gap:6px;font-size:.9rem;font-weight:650;display:flex}.consulting-form input,.consulting-form select,.consulting-form textarea{border:1px solid var(--line-strong);border-radius:var(--r-sm);width:100%;color:var(--ink);font:inherit;background:var(--card);padding:10px 12px;transition:border-color .15s,box-shadow .15s}.consulting-form textarea{resize:vertical}.consulting-form input:focus,.consulting-form select:focus,.consulting-form textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);outline:none}.full-span,.consulting-form button{grid-column:1/-1}.consulting-form button{justify-self:start}.consulting-form button:disabled{cursor:wait;opacity:.72}.form-status{grid-column:1/-1;margin:-2px 0 0;font-size:.92rem;font-weight:650}.form-status.success{color:#1d6b3a}.form-status.error{color:#9b2c2c}.pubs{flex-direction:column;gap:16px;margin-top:12px;display:flex}.pub{border:1px solid var(--line);border-radius:var(--r-md);background:var(--card);box-shadow:var(--shadow-sm);align-items:stretch;gap:18px;padding:18px;transition:transform .16s,box-shadow .16s,border-color .16s;display:flex;position:relative;overflow:hidden}.pub:before{content:"";background:var(--brand);width:3px;position:absolute;inset:0 auto 0 0}.pub:hover,.pub:focus-within{border-color:var(--brand-line);box-shadow:var(--shadow-md);transform:translateY(-2px)}.pub>a{border-radius:var(--r-sm);flex:0 0 190px}.thumb{cursor:pointer;object-fit:cover;border-radius:var(--r-sm);border:1px solid var(--line);width:190px;height:118px;box-shadow:var(--shadow-sm);background:#f5f5f5;display:block}.logo-link{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card);min-height:110px;box-shadow:var(--shadow-sm);justify-content:center;align-self:center;align-items:center;padding:14px;transition:transform .15s,box-shadow .15s;display:flex}.logo-link:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.logo{object-fit:contain;width:162px;max-height:86px;display:block}.meta{flex-direction:column;flex:1;justify-content:center;min-width:0;display:flex}.title{color:var(--ink);letter-spacing:-.01em;margin-bottom:7px;font-size:1.02rem;font-weight:740;line-height:1.32}.authors{color:var(--muted);margin-bottom:6px;font-size:.94rem}.venue{color:var(--ink-soft);margin-bottom:10px;font-size:.94rem}.conf-icon{vertical-align:-.22em;border-radius:3px;width:auto;height:1.15em;margin-right:4px}.summary{max-width:760px;color:var(--ink-soft);margin:0 0 12px;font-size:.93rem;line-height:1.55}.details{color:var(--ink-soft);margin:0 0 12px;padding-left:1.1rem;font-size:.93rem;line-height:1.55}.details li{margin:.18rem 0}.pkg-install{margin:0 0 12px}.pkg-install code{border-radius:var(--r-sm);border:1px solid var(--line);color:var(--ink-soft);background:#16203a0d;padding:5px 11px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.86rem;display:inline-block}.links{flex-wrap:wrap;gap:8px;display:flex}.links a{border:1px solid var(--brand-line);border-radius:var(--pill);width:fit-content;min-height:32px;color:var(--brand);background:var(--brand-soft);justify-content:center;align-items:center;padding:5px 13px;font-size:.9rem;font-weight:650;transition:border-color .15s,color .15s,background .15s;display:inline-flex}.links a:hover{color:#fff;background:var(--brand);border-color:#0000;text-decoration:none}.sep{display:none}.site-footer{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 18px;margin-top:28px;padding:24px;font-size:.9rem;display:flex}.site-footer span:first-child{color:var(--ink);font-weight:720}@media (width<=900px){.hero{grid-template-columns:1fr}.headshot{width:150px;height:150px}.highlight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.consulting-section{grid-template-columns:1fr}}@media (width<=700px){.site-shell{width:min(100% - 24px,1120px);padding-top:12px}.hero,section{border-radius:var(--r-md);padding:22px}.pub{flex-direction:column}.pub>a{flex-basis:auto;width:100%}.thumb{width:100%;height:180px}.timeline{gap:22px;margin-left:0;padding-left:30px}.timeline:before{left:10px}.timeline-item{min-height:0;display:block}.timeline-dot{width:14px;height:14px;margin-top:0;position:absolute;top:4px;left:-28px}.timeline-left .timeline-card,.timeline-right .timeline-card{text-align:left}.timeline-card:after{display:none}.timeline-left .timeline-date,.timeline-left .timeline-card h3{margin-left:0}.timeline-left .timeline-card ul{direction:ltr;padding-left:1.05rem;padding-right:0}.highlight-grid,.consulting-form{grid-template-columns:1fr}}
