/* Preserve the blue sidebar and the existing resume layout. */
:root{--resume-blue:#7baedc;--resume-ink:#2c3742;--resume-muted:#536171;--resume-link:#326993;--resume-line:#dfe5ea}
body{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--resume-muted);font-size:1rem;line-height:1.75;-webkit-font-smoothing:antialiased}h1,h2,h3,.subheading{font-family:inherit;color:var(--resume-ink)}h1{font-size:clamp(3.4rem,6.5vw,6.3rem);line-height:1.05;font-weight:750;letter-spacing:-.055em;text-transform:none}h2{font-size:clamp(1.7rem,3.2vw,2.5rem);font-weight:700;letter-spacing:-.025em}h3{font-size:1.2rem;line-height:1.4;font-weight:650;letter-spacing:-.015em;text-transform:none}.subheading{font-size:1rem;line-height:1.7;text-transform:none;font-weight:500;color:var(--resume-muted)}#about .subheading{margin-top:1.1rem;margin-bottom:2rem!important;font-size:.94rem}#about .lead{font-size:1.13rem;line-height:1.85;max-width:68ch;margin-bottom:2rem!important}a{color:var(--resume-link);text-underline-offset:.18em}.text-custom-blue,.email-custom-link{color:var(--resume-link)!important}h1 .text-custom-blue{color:#568ab5!important}.bg-custom-blue{background-color:var(--resume-blue)!important}.resume-section{scroll-margin-top:4rem}section.resume-section{padding-top:4rem;padding-bottom:4rem;min-height:auto}#about{min-height:85vh}section.resume-section h2.mb-5{margin-bottom:2.2rem!important}.resume-section-content>p,.flex-grow-1>p{max-width:72ch}.flex-grow-1{min-width:0}#experience .d-flex,#education .d-flex{gap:1.5rem}#experience .flex-shrink-0,#education .flex-shrink-0{min-width:170px;font-size:.84rem;line-height:1.8;padding-top:.15rem}#experience .d-flex:not(:last-child),#education .d-flex:not(:last-child){border-bottom:1px solid var(--resume-line);padding-bottom:2rem;margin-bottom:2rem!important}#sideNav .navbar-nav .nav-item .nav-link{font-weight:650;letter-spacing:.055em;font-size:.78rem;color:#15344b;padding:.65rem 1rem}#sideNav .navbar-nav .nav-item .nav-link:hover,#sideNav .navbar-nav .nav-item .nav-link.active{color:#102b3f;background:rgba(255,255,255,.23)}#sideNav .navbar-brand{color:#15344b;font-weight:650}#sideNav .navbar-brand .img-profile{border:.35rem solid rgba(255,255,255,.45);width:150px;height:150px;object-fit:cover}#sideNav .navbar-toggler{border-color:#315e7b}#sideNav .navbar-toggler-icon{filter:brightness(.35)}.social-icons .social-icon{height:44px;width:44px;font-size:1.2rem;font-weight:750;background:#344d60;margin-right:.75rem;text-decoration:none;transition:background-color .15s}.social-icons .social-icon:hover{background:var(--resume-link)}.github-label{font-size:.84rem}.skills-heading{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;margin-bottom:1.25rem;color:var(--resume-muted)}.dev-icons{display:flex;gap:1rem;flex-wrap:wrap;font-size:1rem;padding:0;margin-bottom:2.5rem}.dev-icons .list-inline-item{display:flex;flex-direction:column;gap:.6rem;align-items:center;width:88px;margin:0;text-align:center}.icon-grayscale{width:44px!important;height:44px!important;object-fit:contain;opacity:1}.skill-label{font-size:.72rem;line-height:1.45;color:#536171}.fa-ul{margin-left:1.7rem}#certifications .fa-ul>li{position:relative;padding:.1rem 0 1.1rem;margin-bottom:1.1rem;border-bottom:1px solid var(--resume-line);font-size:.98rem;color:var(--resume-ink)}#certifications .fa-ul>li:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}#certifications .fa-li{color:var(--resume-link)}#certifications .fa-li a{font-weight:700;text-decoration:none;display:inline-block;min-width:28px;min-height:28px}#certifications small{color:var(--resume-muted)!important;font-size:.78rem;overflow-wrap:anywhere}.btn{border-radius:3px;font-weight:650;font-size:.85rem;padding:.65rem 1rem;min-height:44px;transition:background-color .15s,border-color .15s}.btn-deep-primary{--bs-btn-bg:#326993;--bs-btn-border-color:#326993;--bs-btn-hover-bg:#285778;--bs-btn-hover-border-color:#285778}.card{border-color:var(--resume-line);border-radius:4px;box-shadow:none!important}.card-body{padding:1.35rem}.card-title{font-size:1rem;line-height:1.45;margin-bottom:.8rem}.card-text{font-size:.87rem;line-height:1.7}.ratio{background:#f1f4f6;border-bottom:1px solid var(--resume-line)}.personal-feature{display:grid;grid-template-columns:.8fr 1.3fr;border:1px solid var(--resume-line);border-radius:4px;overflow:hidden;margin-bottom:1.7rem}.personal-feature-visual{background:#edf3f7;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem}.personal-feature-visual span{font-size:1.4rem;font-weight:750;color:var(--resume-ink);letter-spacing:-.03em}.personal-feature-copy{padding:2rem}.personal-feature-copy h3{font-size:1.6rem;margin-bottom:1rem}.personal-feature-copy>p{font-size:.9rem;line-height:1.75}.personal-feature-copy .project-eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--resume-link);margin-bottom:.75rem}.project-technologies{font-size:.78rem!important;color:var(--resume-muted)}.dog-photo{border:3px solid var(--resume-line)}.dog-name{font-size:1rem}.personal-footer{border-top:1px solid var(--resume-line);padding:1.8rem 3rem;font-size:.8rem}.skip-link{position:fixed;left:1rem;top:.5rem;z-index:2000;background:#18394f;color:white;padding:.6rem 1rem;transform:translateY(-160%)}.skip-link:focus{transform:none}a:focus-visible,button:focus-visible{outline:3px solid #214d6d;outline-offset:4px}main:focus{outline:0}
@media(min-width:992px){#about{min-height:95vh}.resume-section{scroll-margin-top:0}section.resume-section{padding-left:3rem;padding-right:3rem;padding-top:4.5rem;padding-bottom:4.5rem}#experience .flex-shrink-0,#education .flex-shrink-0{text-align:right}}
@media(max-width:991px){section.resume-section{padding:3.5rem 1.5rem}.personal-footer{padding-inline:1.5rem}#about{min-height:75vh}#sideNav .navbar-nav .nav-item .nav-link{padding:.5rem .7rem}.navbar-collapse{max-height:calc(100dvh - 70px);overflow-y:auto}}
@media(max-width:767px){#experience .d-flex,#education .d-flex{gap:.5rem}.flex-shrink-0{order:-1}.personal-feature{grid-template-columns:1fr}.personal-feature-visual{padding:1.6rem;flex-direction:row}.personal-feature-visual img{width:56px;height:56px}.personal-feature-copy{padding:1.5rem}#about .lead{font-size:1.02rem}.dev-icons{gap:1rem .35rem}.dev-icons .list-inline-item{width:76px}.resume-section h2.mb-5{margin-bottom:1.8rem!important}section.resume-section{padding:3rem 1.25rem}#certifications .fa-ul{margin-left:1.6rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{transition:none!important;animation:none!important}}
.fa-ul{list-style:none;padding:0}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-1.7rem;width:1.4rem;text-align:center}
@font-face{font-family:"Saira Extra Condensed";font-style:normal;font-weight:700;font-display:optional;src:url("../fonts/saira-extra-condensed-700.99a3d9a128a2.ttf") format("truetype")}h1{font-family:"Saira Extra Condensed","Arial Narrow",sans-serif;text-transform:uppercase;letter-spacing:-.025em;font-size:clamp(4rem,7vw,6.5rem)}
/* Focused finishing: preserve the existing CV and circular social links. */
.social-icons .social-mark{display:block;width:22px;height:22px;flex-shrink:0;transition:transform .15s ease}.social-icons .social-mark-github{width:23px;height:23px}.social-icons .social-icon:hover .social-mark{transform:translateY(-1px)}.social-icons .social-icon:focus-visible{outline:3px solid #214d6d;outline-offset:4px;background:var(--resume-link)}
#experience .employer-line{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:.6rem .8rem;min-height:36px;margin-top:.4rem;font-size:.95rem;font-weight:500;line-height:1.5;text-transform:none}#experience .employer-name{min-width:0;overflow-wrap:anywhere}#experience .employer-logo{display:block;justify-self:center;height:auto;object-fit:contain}#experience .employer-logo-db{width:44px}#experience .employer-logo-pwc{width:64px}#experience .employer-logo-aldi{width:32px}#experience .flex-grow-1{max-width:100%}#experience .flex-grow-1>p{max-width:72ch;overflow-wrap:break-word}#experience .flex-shrink-0{max-width:100%}
@media(prefers-reduced-motion:reduce){.social-icons .social-icon:hover .social-mark{transform:none}}
/* Keep the existing featured project readable when text is enlarged. */
.personal-feature-copy,.personal-feature-visual{min-width:0}.personal-feature h3,.personal-feature-visual span{overflow-wrap:anywhere}.personal-feature-visual span{max-width:100%}
@media(max-width:767px){.personal-feature-visual{flex-wrap:wrap}}
.resume-section h2{overflow-wrap:break-word}.personal-feature .btn{max-width:100%;white-space:normal;overflow-wrap:anywhere}
