@font-face{font-family:Poppins;src:url("assets/poppins-regular.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Poppins;src:url("assets/poppins-bold.woff2") format("woff2");font-style:normal;font-weight:700;font-display:swap}
:root{color-scheme:light;--blue:#034789;--red:#e30613;--yellow:#ffd000;--ink:#242424}
*{box-sizing:border-box}
html{background:#fff;color:var(--ink);font-family:Poppins,Arial,sans-serif;-webkit-text-size-adjust:100%}
body{margin:0;min-height:100svh;display:flex;flex-direction:column;border-top:5px solid var(--blue)}
body::before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(to right,var(--red) 0 33.333%,var(--blue) 33.333% 66.666%,var(--yellow) 66.666%)}
main{width:min(100%,660px);margin:auto;padding:36px 24px 24px;text-align:center}
h1,h2,p{margin:0}
img{display:block;max-width:100%;height:auto}
.logo{width:min(100%,390px);margin-inline:auto}
.motto{margin-top:22px;font-size:clamp(.875rem,2.6vw,1rem);line-height:1.65}
.motto strong{font-size:clamp(1.2rem,3.7vw,1.5rem);color:var(--blue)}
.purpose{max-width:530px;margin:22px auto 0;font-size:.9rem;line-height:1.8;color:#454545;text-wrap:pretty}
.purpose strong{font-weight:700;color:var(--blue)}
.candidate{margin-top:28px}
.portrait{width:112px;height:112px;object-fit:cover;margin-inline:auto;border-radius:50%;border:1px solid #e7e7e7}
.signature{margin:12px auto 3px;width:119px}
.signature img{width:100%}
.candidate h2{color:var(--blue);font-size:clamp(1.2rem,4.5vw,1.65rem);line-height:1.3;letter-spacing:-.025em;text-wrap:balance}
.bio{max-width:505px;margin:12px auto 0;font-size:.875rem;line-height:1.8;text-wrap:pretty}
.profile-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:18px;padding:10px 20px;border:1px solid var(--blue);border-radius:6px;background:var(--blue);color:#fff;font-size:.875rem;font-weight:700;line-height:1.5;text-decoration:none}
.profile-link:hover{background:#023568}
a:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:5px}
.profile-page{width:min(100%,1200px);margin:0 auto;padding-top:28px}
.profile-nav{text-align:left;margin-bottom:28px}
.profile-nav a,.brief-caption a{display:inline-block;padding:10px 0;color:var(--blue);text-underline-offset:4px}
.profile-heading{font-size:clamp(1.35rem,4vw,2rem);line-height:1.3;color:var(--blue)}
.profile-help{margin:12px auto 24px;max-width:550px;font-size:.875rem;line-height:1.8}
.brief-figure{margin:0}
.brief-image-link{display:block;cursor:zoom-in}
.brief-image{width:100%;height:auto;border:1px solid #e7e7e7;border-radius:6px}
.brief-caption{margin-top:12px;font-size:.875rem;line-height:1.8}
.brief-caption a{margin-inline:10px;min-height:44px}
.brief-reset{display:none!important}
.brief-figure:target .brief-image-link{max-height:70svh;overflow:auto;overscroll-behavior:contain}
.brief-figure:target .brief-image{width:1600px;max-width:none}
.brief-figure:target .brief-reset{display:inline-block!important}
.brief-transcript{max-width:700px;margin:28px auto 0;text-align:left;font-size:.9375rem;line-height:1.85}
.brief-transcript summary{padding:12px 0;cursor:pointer;color:var(--blue);font-weight:700}
.brief-transcript h2{margin-top:20px;font-size:1.125rem;color:var(--blue)}
.brief-transcript p{margin-top:14px}
.soon{margin-top:26px}
.soon::before{content:"";display:block;width:34px;height:3px;background:var(--yellow);margin:0 auto 15px}
.soon h2{font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--blue)}
footer{padding:18px 20px 24px;text-align:center;color:#595959;font-size:.6875rem;line-height:1.85}
footer strong{color:var(--blue)}
@media(min-width:600px) and (min-height:800px){main{padding-top:48px;padding-bottom:36px}.candidate{margin-top:32px}.portrait{width:124px;height:124px}.soon{margin-top:32px}}
@media(max-height:720px){main{padding-top:24px}.motto{margin-top:16px}.purpose{margin-top:18px}.candidate{margin-top:22px}.soon{margin-top:22px}}
