
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@1,600&display=swap');
:root{--navy:#071d36;--blue:#0b3b67;--cyan:#18b6c9;--ink:#122236;--muted:#647386;--line:#dce5ec;--soft:#f3f7f9;--white:#fff;--shadow:0 20px 50px rgba(4,31,57,.11);--radius:18px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:'DM Sans',Arial,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%}.container{width:min(1160px,calc(100% - 40px));margin-inline:auto}.skip-link{position:fixed;left:1rem;top:-100px;background:#fff;padding:.7rem 1rem;z-index:1000}.skip-link:focus{top:1rem}.site-header{height:84px;background:rgba(255,255,255,.96);border-bottom:1px solid rgba(220,229,236,.8);position:sticky;top:0;z-index:50;backdrop-filter:blur(12px)}.nav-wrap{height:100%;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;color:white;background:var(--navy);border-radius:50%;font:700 13px/1 'DM Sans';letter-spacing:.5px}.brand strong,.brand small{display:block}.brand strong{font-size:16px}.brand small{font-size:11px;color:var(--muted);letter-spacing:.8px;text-transform:uppercase}.main-nav{display:flex;align-items:center;gap:32px}.main-nav a{font-size:14px;font-weight:600;color:#516074;position:relative;padding:30px 0}.main-nav a:hover,.main-nav a.active{color:var(--navy)}.main-nav a.active:after{content:"";height:3px;background:var(--cyan);position:absolute;left:0;right:0;bottom:0;border-radius:5px}.menu-toggle{display:none;border:0;background:none;padding:8px}.menu-toggle span{display:block;width:25px;height:2px;background:var(--navy);margin:5px}.hero{min-height:675px;display:grid;align-items:center;position:relative;overflow:hidden;background:linear-gradient(120deg,#f8fbfc 0%,#edf6f7 62%,#e6f2f4 100%)}.hero:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(7,29,54,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(7,29,54,.025) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to right,#000,transparent)}.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.25fr .75fr;gap:80px;align-items:center}.eyebrow{font-size:12px;font-weight:700;letter-spacing:2.2px;color:#168a9a;margin:0 0 16px}.hero h1,.page-hero h1{font-size:clamp(46px,6vw,76px);line-height:1.06;letter-spacing:-3px;margin:0 0 26px;max-width:800px}.hero h1 em,.section-heading h2 em,.dark-section h2 em{font-family:'Playfair Display',serif;font-weight:600;color:var(--cyan)}.lead{font-size:19px;line-height:1.7;color:#546477;max-width:660px}.button-row{display:flex;gap:12px;margin-top:34px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:50px;padding:0 23px;border-radius:8px;font-size:14px;font-weight:700;border:1px solid transparent;cursor:pointer;transition:.2s}.btn:hover{transform:translateY(-2px)}.btn.primary{color:#fff;background:var(--navy);box-shadow:0 10px 25px rgba(7,29,54,.18)}.btn.primary:hover{background:#103a63}.btn.secondary{border-color:#c8d5df;background:rgba(255,255,255,.62)}.btn.full{width:100%}.profile-card{background:rgba(255,255,255,.9);border:1px solid rgba(255,255,255,.9);border-radius:24px;padding:34px;box-shadow:var(--shadow);position:relative}.avatar{height:210px;border-radius:15px;display:grid;place-items:center;margin-bottom:26px;background:linear-gradient(145deg,var(--navy),#176078);position:relative;overflow:hidden}.avatar:before,.avatar:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.16);border-radius:50%}.avatar:before{width:240px;height:240px}.avatar:after{width:150px;height:150px}.avatar span{color:white;font:600 64px 'Playfair Display';z-index:1}.card-label{font-size:10px;letter-spacing:1.7px;color:#168a9a;font-weight:700;margin:0 0 5px}.profile-card h2{font-size:24px;margin:0}.profile-card p{color:var(--muted)}.profile-meta{border-top:1px solid var(--line);padding-top:17px;display:grid;gap:8px;font-size:13px}.profile-meta a,.profile-meta>span{display:flex;gap:8px}.orb-one{position:absolute;width:400px;height:400px;border:1px solid rgba(24,182,201,.22);border-radius:50%;right:-100px;top:-90px}.orb-two{position:absolute;width:250px;height:250px;background:rgba(24,182,201,.09);border-radius:50%;left:42%;bottom:-150px}.section{padding:105px 0}.section-heading{margin-bottom:50px}.section-heading h2,.dark-section h2{font-size:clamp(34px,4vw,50px);line-height:1.15;letter-spacing:-1.8px;margin:0}.card-grid{display:grid;gap:20px}.card-grid.four{grid-template-columns:repeat(4,1fr)}.card-grid.three{grid-template-columns:repeat(3,1fr)}.topic-card,.course-card{padding:28px;border:1px solid var(--line);border-radius:var(--radius);position:relative;background:white;transition:.25s}.topic-card:hover,.course-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:transparent}.topic-no{position:absolute;right:21px;top:17px;color:#aab6c1;font-size:11px}.icon-box{display:grid;place-items:center;width:49px;height:49px;border-radius:12px;background:#e9f7f8;color:#087c8a;font-weight:700;font-size:15px;margin-bottom:32px}.topic-card h3,.course-card h3{font-size:19px;margin:0 0 10px}.topic-card p,.course-card p{font-size:14px;color:var(--muted);margin:0}.dark-section{background:var(--navy);color:white}.split{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px;align-items:start}.eyebrow.light{color:#5cd5df}.muted{color:#9fb0c2;max-width:470px}.text-link{display:inline-block;color:#087d8d;font-weight:700;font-size:14px;margin-top:16px}.light-link{color:#66dbe3}.timeline{border-top:1px solid rgba(255,255,255,.16)}.timeline article{display:grid;grid-template-columns:80px 1fr;gap:20px;padding:28px 0;border-bottom:1px solid rgba(255,255,255,.16)}.timeline article>span{font-family:'Playfair Display';font-style:italic;color:#54ccd6;font-size:22px}.timeline h3{font-size:18px;margin:0 0 5px}.timeline p{margin:0;color:#9fb0c2;font-size:14px}.callout{padding:70px 0}.callout-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;background:var(--soft);border-radius:20px;padding:40px 50px}.callout h2{margin:0;font-size:34px}.callout p:not(.eyebrow){margin:5px 0 0;color:var(--muted)}.page-hero{padding:95px 0 80px;background:linear-gradient(120deg,#f7fafb,#e9f4f5);border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(42px,5vw,64px);margin-bottom:15px}.course-card{padding:35px}.course-card ul{padding-left:18px;color:var(--muted);font-size:14px;margin:22px 0 0}.notice{display:grid;grid-template-columns:180px 1fr;gap:24px;margin-top:35px;padding:25px 30px;border-left:4px solid var(--cyan);background:var(--soft);border-radius:0 12px 12px 0}.notice p{margin:0;color:var(--muted)}.research-layout{display:grid;grid-template-columns:265px 1fr;gap:70px;align-items:start}.research-side{position:sticky;top:115px;border:1px solid var(--line);border-radius:var(--radius);padding:25px}.tag-list{list-style:none;padding:0;margin:0 0 25px}.tag-list li{padding:9px 0;border-bottom:1px solid var(--line);font-size:14px}.list-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;padding-bottom:20px;border-bottom:2px solid var(--navy)}.list-heading h2{font-size:35px;margin:0}.search-box span{position:absolute;overflow:hidden;width:1px;height:1px}.search-box input{width:235px;border:1px solid var(--line);padding:11px 13px;border-radius:8px;font:inherit}.publication{display:grid;grid-template-columns:70px 1fr;gap:20px;padding:27px 0;border-bottom:1px solid var(--line)}.pub-year{font-family:'Playfair Display';font-style:italic;font-size:18px;color:#1694a4}.publication h3{font-size:17px;line-height:1.45;margin:0 0 6px}.publication p{color:var(--muted);font-size:14px;margin:0}.publication a{font-size:12px;font-weight:700;color:#168a9a}.empty-state{padding:30px;background:var(--soft)}.soft{background:var(--soft)}.split-small{display:grid;grid-template-columns:.6fr 1.4fr;gap:60px;align-items:start}.split-small h2{font-size:38px;margin:0}.book-card{display:grid;grid-template-columns:70px 1fr;gap:20px;background:white;padding:30px;border-radius:var(--radius);box-shadow:0 8px 30px rgba(4,31,57,.06)}.book-card h3{margin:0;font-size:21px}.book-card p{color:var(--muted)}.resource-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.resource-card{display:flex;align-items:flex-start;gap:25px;padding:34px;border:1px solid var(--line);border-radius:var(--radius);transition:.25s}.resource-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:transparent}.resource-logo{flex:0 0 70px;height:70px;display:grid;place-items:center;border-radius:16px;background:var(--navy);color:white;font-size:18px;font-weight:700}.resource-card h2{margin:0;font-size:22px}.resource-card p:not(.card-label){color:var(--muted);font-size:14px}.contact-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:80px}.contact-details h2{font-size:35px;margin:0}.contact-details>p:not(.eyebrow){color:var(--muted)}.contact-list{margin-top:35px;border-top:1px solid var(--line)}.contact-list>a,.contact-list>div{display:flex;gap:15px;padding:18px 0;border-bottom:1px solid var(--line)}.contact-list>a>span,.contact-list>div>span{color:#168a9a}.contact-list small,.contact-list strong{display:block}.contact-list small{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}.contact-list strong{font-size:14px}.contact-form{background:var(--soft);padding:40px;border-radius:var(--radius)}.contact-form h2{font-size:29px;margin:0}.contact-form>p{color:var(--muted);font-size:13px}.contact-form label{display:grid;gap:7px;font-size:12px;font-weight:700;margin:17px 0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form input,.contact-form textarea{width:100%;border:1px solid #ccd8e1;border-radius:8px;padding:12px 13px;background:white;font:inherit;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{outline:3px solid rgba(24,182,201,.15);border-color:var(--cyan)}.hp{position:absolute!important;left:-9999px}.form-note{display:inline;margin-left:12px}.site-footer{background:#05172b;color:#d7e0e9;padding-top:65px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.3fr;gap:65px;padding-bottom:45px}.footer-name{font-size:20px;font-weight:700;color:white}.footer-grid p{color:#8ea1b4;font-size:13px}.footer-grid h2{font-size:12px;text-transform:uppercase;letter-spacing:1.5px;color:#62d0d8;margin:0 0 15px}.footer-grid>div:not(:first-child) a{display:block;color:#9fb0c2;font-size:13px;margin:8px 0}.footer-grid a:hover{color:white}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.1);padding:18px 0;color:#75899e;font-size:11px}.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.08s}.delay-2{transition-delay:.16s}.delay-3{transition-delay:.24s}
@media(max-width:900px){.main-nav{position:fixed;left:0;right:0;top:84px;background:#fff;display:none;flex-direction:column;gap:0;padding:15px 25px 25px;border-bottom:1px solid var(--line);box-shadow:0 18px 30px rgba(0,0,0,.08)}.main-nav.open{display:flex}.main-nav a{padding:13px;width:100%}.main-nav a.active:after{left:13px;right:auto;width:30px}.menu-toggle{display:block}.hero{padding:70px 0}.hero-grid{grid-template-columns:1fr;gap:45px}.profile-card{max-width:520px}.card-grid.four,.card-grid.three{grid-template-columns:1fr 1fr}.split{grid-template-columns:1fr;gap:50px}.research-layout{grid-template-columns:1fr}.research-side{position:static}.contact-grid{grid-template-columns:1fr;gap:45px}.footer-grid{grid-template-columns:1.5fr 1fr 1fr;gap:30px}}
@media(max-width:620px){.container{width:min(100% - 28px,1160px)}.site-header{height:72px}.main-nav{top:72px}.brand small{display:none}.hero h1,.page-hero h1{letter-spacing:-1.5px}.section{padding:72px 0}.card-grid.four,.card-grid.three,.resource-grid{grid-template-columns:1fr}.button-row{flex-direction:column;align-items:stretch}.callout-inner{align-items:flex-start;flex-direction:column;padding:30px}.notice{grid-template-columns:1fr}.list-heading{align-items:flex-start;flex-direction:column}.search-box,.search-box input{width:100%}.publication{grid-template-columns:52px 1fr}.split-small{grid-template-columns:1fr}.contact-form{padding:25px}.form-row{grid-template-columns:1fr;gap:0}.form-note{display:block;margin:10px 0 0}.footer-grid{grid-template-columns:1fr}.footer-bottom{gap:20px;flex-direction:column}.page-hero{padding:70px 0}.hero{min-height:auto}.hero-grid{gap:35px}.profile-card{padding:25px}.avatar{height:180px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reveal{opacity:1;transform:none;transition:none}}


/* ==========================================================
   Profile image â€” final corrected override
   Shows the complete portrait without cropping.
   ========================================================== */

.avatar {
    width: 100%;
    height: 340px;
    margin-bottom: 26px;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    overflow: hidden;
    border-radius: 15px;
    background: #edf4f5;
}

.avatar img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: contain;
    object-position: center;
    border-radius: inherit;
    position: relative;
    z-index: 2;
}

/* Remove the decorative circles and old AV initials. */
.avatar::before,
.avatar::after {
    display: none !important;
    content: none !important;
}

.avatar span {
    display: none !important;
}

@media (max-width: 620px) {
    .avatar {
        height: 300px;
    }
}

@media (max-width: 390px) {
    .avatar {
        height: 270px;
    }
}


/* ==========================================================
   Circular profile image â€” final override
   ========================================================== */

.profile-card .avatar {
    width: min(100%, 300px);
    aspect-ratio: 1 / 1;
    height: auto;
    margin: 0 auto 26px;
    padding: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #ffffff;
    border: 4px solid #147d83;
    border-radius: 50%;
    box-shadow: 0 14px 35px rgba(11, 47, 58, 0.18);
}

.profile-card .avatar img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
    border-radius: 50%;
}

.profile-card .avatar::before,
.profile-card .avatar::after,
.profile-card .avatar span {
    display: none !important;
    content: none !important;
}

@media (max-width: 620px) {
    .profile-card .avatar {
        width: min(100%, 260px);
        height: auto;
    }
}

@media (max-width: 390px) {
    .profile-card .avatar {
        width: min(100%, 230px);
        height: auto;
    }
}


/* Smaller image inside the circular profile frame */
.profile-card .avatar {
    padding: 22px !important;
}

.profile-card .avatar img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    border-radius: 50% !important;
}

@media (max-width: 620px) {
    .profile-card .avatar {
        padding: 18px !important;
    }
}


/* Final override: image completely fills the circular frame */
.profile-card .avatar {
    padding: 0 !important;
    overflow: hidden !important;
    background: transparent !important;
    border-radius: 50% !important;
}

.profile-card .avatar img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover !important;
    object-position: center center !important;
    border-radius: 50% !important;
}

@media (max-width: 620px) {
    .profile-card .avatar {
        padding: 0 !important;
    }
}


/* Final profile adjustment: show more of the head with no white gaps */
.profile-card .avatar {
    position: relative !important;
    padding: 0 !important;
    overflow: hidden !important;
    background-color: #147d83 !important;
    border-radius: 50% !important;
    isolation: isolate;
}

/* A blurred copy of the same photo fills the space around the smaller image */
.profile-card .avatar::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    inset: -12px !important;
    z-index: 0 !important;
    background-image: url('../img/profile.jpg') !important;
    background-position: center center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
    filter: blur(10px) !important;
    transform: scale(1.08) !important;
    opacity: 1 !important;
    pointer-events: none !important;
}

.profile-card .avatar::after {
    content: none !important;
    display: none !important;
}

.profile-card .avatar img {
    position: relative !important;
    z-index: 1 !important;
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover !important;
    object-position: center 38% !important;
    border-radius: 50% !important;
    transform: scale(0.88) !important;
    transform-origin: center center !important;
}

@media (max-width: 620px) {
    .profile-card .avatar img {
        transform: scale(0.88) !important;
    }
}


/* Final override: thinner circular profile border */
.profile-card .avatar {
    border-width: 2px !important;
}


/* Final correction: ultra-thin navy frame without the thick teal ring */
.profile-card .avatar {
    padding: 0 !important;
    border: 1px solid #0b1f3a !important;
    background: transparent !important;
    overflow: hidden !important;
    border-radius: 50% !important;
}

.profile-card .avatar::before,
.profile-card .avatar::after {
    content: none !important;
    display: none !important;
    background: none !important;
}

.profile-card .avatar img {
    position: relative !important;
    z-index: 1 !important;
    width: 100% !important;
    height: 100% !important;
    transform: none !important;
    object-fit: cover !important;
    object-position: center 38% !important;
    border-radius: 50% !important;
}


/* Definitive override: remove the turquoise ring completely */
.profile-card .avatar {
    padding: 0 !important;
    border: 1px solid #0b1f3a !important;
    outline: none !important;
    background: none !important;
    background-color: transparent !important;
    box-shadow: none !important;
    overflow: hidden !important;
    border-radius: 50% !important;
}

.profile-card .avatar::before,
.profile-card .avatar::after {
    content: none !important;
    display: none !important;
    border: 0 !important;
    outline: 0 !important;
    background: none !important;
    box-shadow: none !important;
}

.profile-card .avatar img {
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    transform: none !important;
    object-fit: cover !important;
    object-position: center 38% !important;
    border-radius: 50% !important;
}
