*{box-sizing:border-box} :root{--ink:#173137;--muted:#647377;--paper:#faf9f6;--line:#dcded8;--accent:#287269} body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 Arial,Helvetica,sans-serif} a{color:inherit} .wrap{max-width:1140px;margin:auto;padding:0 44px} header{border-bottom:1px solid var(--line)} .header-inner{min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{text-decoration:none;font-family:Georgia,serif;font-size:26px;letter-spacing:-.7px}.brand span{display:block;font:10px/1.6 Arial,sans-serif;text-transform:uppercase;letter-spacing:2.3px;color:var(--muted)} nav{display:flex;gap:7px} nav a{text-decoration:none;padding:9px 20px;border-radius:3px;font-size:14px}nav a:hover{background:#e9eeea}nav a[aria-current=page]{background:var(--ink);color:white} .eyebrow{font-size:11px;letter-spacing:2.2px;text-transform:uppercase;color:var(--accent);font-weight:700;margin:0 0 18px} h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.14}h1{font-size:68px;letter-spacing:-2.6px;margin:0 0 22px}h2{font-size:31px;letter-spacing:-.6px;margin:0 0 20px}h3{font-size:23px;margin:0 0 12px} .hero{padding:66px 0 60px;display:grid;grid-template-columns:310px 1fr;gap:78px;align-items:start}.portrait{margin:0}.portrait img{display:block;width:100%;height:auto;object-fit:cover;background:#e3e9e3}.portrait figcaption{margin-top:12px;font-size:12px;color:var(--muted)}.intro{padding-top:11px}.lead{font:22px/1.55 Georgia,serif;max-width:600px;color:#526465;margin:0 0 32px}.address{border-top:1px solid var(--line);padding-top:24px;max-width:440px}.label{font-size:11px;text-transform:uppercase;letter-spacing:1.8px;font-weight:bold;margin:0 0 10px}.placeholder{color:var(--muted)}address{font-style:normal;font-size:14px;line-height:1.8}.research{border-top:1px solid var(--line);padding:42px 0 64px;display:grid;grid-template-columns:310px 1fr;gap:78px}.section-number{display:block;color:var(--accent);font-size:11px;letter-spacing:2px;margin-bottom:13px}.interests{list-style:disc outside;margin:0;padding:0 0 0 20px}.interests li{padding:13px 0;border-bottom:1px solid var(--line);display:list-item;font-size:16px}.interests li:first-child{padding-top:0}.interests li::marker{color:var(--accent);font-size:1em}.page-intro{max-width:740px;padding:66px 0 35px}.page-intro h1{font-size:60px}.page-intro p{color:var(--muted);max-width:580px}.sections{padding-bottom:70px}.detail-row{display:grid;grid-template-columns:235px 1fr;gap:60px;padding:30px 0;border-top:1px solid var(--line)}.detail-row p{margin:0;color:var(--muted)}.detail-row h2{font-size:26px;margin:0}.note{font-size:13px;color:var(--muted);border-left:2px solid #9eb7ad;padding-left:16px}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:10px 0 60px}.photo-grid figure{margin:0}.photo-space{aspect-ratio:4/3;display:grid;place-content:center;text-align:center;background:#e7ece6;color:#74877d;font:34px Georgia,serif}.photo-space small{font:10px Arial,sans-serif;letter-spacing:2px;margin-top:8px}.photo-grid figcaption{font-size:14px;margin-top:12px}footer{border-top:1px solid var(--line);padding:23px 0 30px;color:var(--muted);font-size:12px}.footer-inner{display:flex;justify-content:space-between;gap:20px}.skip{position:absolute;top:-100px;left:10px}.skip:focus{top:10px;background:white;padding:10px;z-index:2}a:focus-visible{outline:3px solid #b47a39;outline-offset:4px}@media(max-width:800px){.wrap{padding:0 25px}.header-inner{flex-wrap:wrap;padding-top:22px;padding-bottom:20px;gap:20px}nav{gap:2px}nav a{padding:8px 14px}.hero{grid-template-columns:230px 1fr;gap:34px;padding-top:40px}h1{font-size:49px}.lead{font-size:19px}.research{grid-template-columns:230px 1fr;gap:34px}.detail-row{grid-template-columns:170px 1fr;gap:25px}}@media(max-width:560px){.header-inner{display:block}.brand{display:block;margin-bottom:20px}nav{justify-content:space-between}nav a{padding:8px 13px}.hero{display:flex;flex-direction:column-reverse;gap:30px;padding-top:35px}.intro{padding-top:0}.portrait{width:100%;max-width:310px}.research{grid-template-columns:1fr;gap:15px;padding-top:30px}.detail-row{grid-template-columns:1fr;gap:13px}.photo-grid{grid-template-columns:1fr}.page-intro{padding-top:40px}.page-intro h1{font-size:47px}.footer-inner{display:block}.footer-inner span{display:block}h1{font-size:53px}}
/* Ocean palette and decorative current lines shared by all four pages. */
:root{--ink:#eef8ff;--muted:#b6d0e2;--paper:#08273e;--line:rgba(159,208,233,.23);--accent:#83e0e7;color-scheme:dark}
body{min-height:100vh;background-color:var(--paper);background-image:linear-gradient(100deg,rgba(5,28,48,.89),rgba(7,39,64,.48)),url('assets/ocean-currents.svg'),radial-gradient(ellipse at 88% 20%,#176f8e 0%,#0b3f61 43%,#071e34 100%);background-size:cover,cover,cover;background-position:center;background-attachment:fixed}
header{background:rgba(5,27,46,.67);border-bottom-color:rgba(159,208,233,.2)}
nav a{border:1px solid transparent}nav a:hover{background:rgba(104,201,228,.14);border-color:rgba(148,224,245,.25)}nav a[aria-current=page]{background:#b3eafa;border-color:#b3eafa;color:#082c46}
.lead{color:#c9e2ee}.portrait img{background:#194563;border:1px solid rgba(170,221,243,.3);border-radius:3px;box-shadow:0 18px 55px rgba(0,12,28,.22)}
.research{position:relative}.interests li{border-bottom-color:rgba(159,208,233,.19)}
.photo-space{background:linear-gradient(145deg,rgba(45,119,151,.65),rgba(10,45,72,.85));color:#a8d9eb;border:1px solid var(--line);border-radius:3px}
.note{border-left-color:#63bdcf}footer{background:rgba(5,27,46,.42)}a:focus-visible{outline-color:#a1edf4}.skip:focus{background:#e5f7ff;color:#082c46}
@media(max-width:560px){body{background-attachment:scroll;background-size:auto,auto 100%,cover}}

/* Curriculum vitae */
.cv-jump{display:flex;flex-wrap:wrap;gap:8px 19px;margin:0 0 34px;font-size:13px}.cv-jump a{color:var(--accent);text-underline-offset:4px}.cv-section{scroll-margin-top:24px}.cv-content{min-width:0}.cv-content p{color:var(--muted);margin:0 0 12px}.cv-entry{margin:0 0 28px}.cv-entry:last-child{margin-bottom:0}.cv-entry h3{font-size:23px;line-height:1.4;margin:4px 0 9px}.cv-date{font-size:12px;letter-spacing:1px;color:var(--accent)}.cv-list{padding:0 0 0 18px;margin:0;color:var(--muted)}.cv-list li{padding-left:5px;margin-bottom:21px;overflow-wrap:anywhere}.cv-list li:last-child{margin-bottom:0}.cv-list li::marker{color:var(--accent)}.cv-content strong{font-weight:600;color:var(--ink)}

/* Photo groups */
.photo-group{padding:28px 24px;background:rgba(34,89,119,.25);border:1px solid var(--line);border-radius:3px;min-width:0}.photo-group h2{font-size:28px;line-height:1.25;margin:0 0 18px}.photo-group p{font-size:14px;color:var(--muted);margin:0}

/* Photo albums and accessible full-size viewer. */
.gallery-albums{padding-bottom:70px}.gallery-album{border-top:1px solid var(--line);padding:30px 0 42px}.album-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:22px}.album-heading h2{margin:0;font-size:30px}.album-heading span{color:var(--muted);font-size:13px;white-space:nowrap}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.gallery-photo{display:block;overflow:hidden;border-radius:3px;border:1px solid var(--line);background:#0b3049}.gallery-photo img{width:100%;height:250px;object-fit:cover;display:block;transition:transform .2s}.gallery-photo:hover img{transform:scale(1.035)}.photo-viewer{width:min(1200px,96vw);max-width:96vw;height:auto;max-height:94vh;padding:18px;background:#082338;color:var(--ink);border:1px solid var(--line);border-radius:5px}.photo-viewer::backdrop{background:rgba(0,10,22,.9)}.viewer-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px}.viewer-toolbar p{margin:0;font-size:16px}.photo-viewer button{cursor:pointer;border:1px solid var(--line);border-radius:3px;background:#164763;color:white;padding:8px 13px;font:inherit}.viewer-stage{display:grid;grid-template-columns:45px minmax(0,1fr) 45px;gap:12px;align-items:center;margin-top:15px}.viewer-stage img{display:block;max-height:70vh;max-width:100%;width:auto;height:auto;justify-self:center;object-fit:contain}.viewer-stage button{font-size:32px;padding:4px}.photo-viewer #viewer-caption{text-align:center;font-size:13px;color:var(--muted);margin:14px 0 0}.viewer-open{overflow:hidden}@media(max-width:800px){.gallery-photo img{height:200px}}@media(max-width:560px){.gallery-grid{grid-template-columns:1fr}.gallery-photo img{height:auto;max-height:420px;object-fit:contain}.album-heading h2{font-size:25px}.viewer-stage{grid-template-columns:30px minmax(0,1fr) 30px;gap:4px}.photo-viewer{padding:12px}.viewer-toolbar p{font-size:13px}}@media(prefers-reduced-motion:reduce){.gallery-photo img{transition:none}}
