:root{--ink:#17323d;--ink-deep:#102e36;--ink-soft:#4e6269;--paper:#fff;--white:#fff;--line:#d5e1df;--petrol:#245c59;--petrol-dark:#194542;--mist:#edf4f2;--brass:#a78b5a;--brass-light:#e0c799;--page:min(90%,82.5rem);--gutter:max(5%,calc((100% - 82.5rem)/2));--display:Georgia,'Times New Roman',serif;--body:Arial,'Helvetica Neue',sans-serif;--body-size:clamp(1rem,.9375rem + .2vw,1.125rem)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-offset,5.5rem) + 1rem)}
body{margin:0;min-width:0;color:var(--ink);background:var(--paper);font-family:var(--body);font-size:var(--body-size);line-height:1.7;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}button{font:inherit}svg{display:block}::selection{background:#d5e8e3;color:var(--ink)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--ink-deep);outline-offset:3px;box-shadow:0 0 0 3px #fff}
h1,h2,h3,h4,p,strong,a{overflow-wrap:anywhere}
h2,h3,h4{text-wrap:balance}
.section h2,.contact-section h2,.section-content p,.credential-list h3,.education-card h3{hyphens:auto}
.hero-copy,.brand,.brand-name,.fact,.expertise-item,.education-card>div,.credential-list li,.contact-section>div{min-width:0}
.skip-link{position:fixed;top:1rem;left:1rem;z-index:200;padding:.6rem 1rem;background:var(--ink);color:white;transform:translateY(-200%)}.skip-link:focus{transform:none}
.site-header{position:sticky;top:0;z-index:100;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:clamp(1rem,2.5vw,2rem);min-height:5.5rem;padding:.8rem var(--gutter);border-bottom:1px solid var(--line);border-top:3px solid var(--petrol);background:var(--paper)}
.brand{display:flex;align-items:center;gap:.75rem;font-weight:600}.brand-mark{display:grid;place-items:center;flex-shrink:0;line-height:1;width:3rem;height:3rem;background:var(--petrol);color:white;font-family:var(--display);font-weight:400;font-size:1.25rem}.brand-name{font-size:1.25rem;line-height:1.3}
.primary-nav{display:flex;gap:clamp(1.25rem,2.2vw,2rem)}.primary-nav a{white-space:nowrap;font-size:1.125rem;font-weight:600;color:var(--petrol);padding:.6rem 0;border-bottom:1px solid transparent}.primary-nav a:hover,.primary-nav a.is-current{border-bottom-color:var(--petrol);color:var(--petrol)}
.language-switch{display:flex;flex-shrink:0;white-space:nowrap;align-items:center;justify-self:end;gap:.4rem;font-size:1.125rem}.language-button{border:0;border-bottom:2px solid transparent;background:none;color:var(--petrol);cursor:pointer;padding:.6rem;font-weight:600;min-width:2.75rem;min-height:2.75rem}.language-button.is-active{color:var(--petrol);border-bottom-color:var(--petrol)}
.hero-copy{flex:1.45 1 28rem}.identity-panel{flex:.85 1 20rem}
.hero-band{background:linear-gradient(110deg,#fff 22%,#f2f7f5 100%)}
.name-accent{color:var(--petrol)}
.hero{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(2rem,4vw,5rem);width:var(--page);margin:auto;padding:clamp(3rem,6vw,6rem) 0;min-height:36rem}
.eyebrow,.micro-label{font-size:.875rem;line-height:1.5;letter-spacing:.1em;text-transform:uppercase;font-weight:600;margin:0 0 1.8rem;color:var(--ink-soft)}
.hero .eyebrow{color:var(--petrol);display:flex;align-items:center;gap:1rem}.hero .eyebrow::before{content:"";width:2.25rem;height:2px;background:var(--brass);flex-shrink:0}
.hero h1{font:400 clamp(3.5rem,7.5vw,7rem)/1.02 var(--display);letter-spacing:-.045em;margin:0}.hero-statement{font-size:clamp(1.15rem,1.7vw,1.45rem);line-height:1.65;max-width:36rem;margin:2rem 0;color:var(--ink-soft)}
.hero-actions{display:grid;grid-auto-rows:1fr;grid-template-columns:repeat(auto-fit,minmax(min(100%,10.5rem),1fr));align-items:stretch;gap:1rem;max-width:36rem;margin-top:2rem}.button{display:inline-flex;align-items:center;justify-content:center;min-width:0;text-align:center;gap:1.4rem;padding:1rem 1.5rem;min-height:3.5rem;border:1px solid var(--ink);border-radius:0;font-size:1rem;font-weight:600;line-height:1.3;transition:background .18s,color .18s}
.button-primary{color:white;background:var(--petrol);border-color:var(--petrol)}.button-primary:hover{background:var(--petrol-dark);border-color:var(--petrol-dark)}.button-quiet{background:transparent;color:var(--petrol);border-color:var(--petrol)}.button-quiet:hover{background:#e1eeea}
.identity-panel{container:identity / inline-size;min-width:0;background:linear-gradient(145deg,#326963,#204f50);color:white;border-top:3px solid var(--brass);box-shadow:0 16px 35px rgba(30,77,75,.12);min-height:26rem;padding:clamp(1.5rem,3vw,2.5rem);display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(7rem,1fr) auto;gap:2rem}.identity-initials{display:grid;place-items:center;align-self:stretch;min-width:0;font:400 6rem/1 var(--display);color:var(--brass-light);letter-spacing:-.06em}.identity-content{min-width:0;padding-top:1.5rem;border-top:1px solid #74938c}.identity-content .micro-label{font-size:.875rem;margin-bottom:.8rem;color:#d5e5df}.identity-role{font:400 2rem/1.2 var(--display);margin:0}.identity-company{color:#e3eeea;font-size:1rem;line-height:1.65;margin:.8rem 0 0}
.facts-bar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0 var(--gutter);background:#e7f0ed;border-block:1px solid #c9dcd5}.fact{padding:2rem 2rem 2rem 0;display:flex;flex-direction:column;gap:.5rem}.fact+.fact{border-left:1px solid var(--line);padding-left:2rem}.fact-label{color:var(--petrol);text-transform:uppercase;letter-spacing:.1em;font-size:.875rem;font-weight:600}.fact strong{font-size:1.05rem;font-weight:600}
.section{display:grid;grid-template-columns:9rem minmax(0,1fr);gap:clamp(2rem,4vw,4rem);width:var(--page);margin:auto;padding:clamp(3rem,5vw,5.5rem) 0;border-bottom:1px solid var(--line)}.section-kicker{padding-top:.3rem}.section-kicker>span{display:block;flex:0 0 2rem;width:2rem;padding-bottom:.65rem;border-bottom:2px solid var(--brass);font-size:.875rem;color:var(--petrol)}.section-kicker p{min-width:0;hyphens:auto;color:var(--petrol);font-size:.875rem;letter-spacing:.07em;text-transform:uppercase;line-height:1.5;font-weight:600}
.section h2{font:400 clamp(2rem,3.7vw,3.6rem)/1.15 var(--display);letter-spacing:-.025em;max-width:25ch;margin:0 0 clamp(1.75rem,3vw,2.5rem)}.section-content>p{max-width:68ch;font-size:clamp(1.0625rem,1rem + .2vw,1.1875rem);color:var(--ink-soft);margin:1.5rem 0}.section-content{min-width:0;container:section-content / inline-size}
.section-experience{width:100%;padding-inline:var(--gutter);background:#173b43;color:white}.section-experience .section-kicker>span{color:var(--brass-light);border-bottom-color:var(--brass)}.section-experience .section-kicker p{color:#d0e2dd}.timeline{margin-top:3rem;border-top:1px solid #4d6c71}
.company-group{padding:2.5rem 0;border-bottom:1px solid #4d6c71}
.company-heading h3{margin:0;color:var(--brass-light);font-family:var(--body);font-size:1.2rem;font-weight:600;line-height:1.5;max-width:52rem}
.company-period{font-size:.875rem;color:#d3e0df;margin:.4rem 0 0}
.company-roles{list-style:none;margin:1.8rem 0 0 .3rem;padding:0 0 0 1.7rem;border-left:1px solid #648580}
.company-role{position:relative;display:grid;grid-template-columns:10.5rem minmax(0,1fr);gap:2rem;padding:0 0 2.5rem}
.company-role:last-child{padding-bottom:0}
.company-role::before{content:"";position:absolute;left:-2rem;top:.45rem;width:.55rem;height:.55rem;border-radius:50%;background:var(--brass-light)}
.role-period{font-size:.875rem;color:#d3e0df;line-height:1.6;padding-top:.25rem}
.role-detail{min-width:0}
.role-detail h4{font:400 clamp(1.5rem,2.3vw,2rem)/1.25 var(--display);margin:0;color:white}
.role-location{font-size:.875rem;color:#d3e0df;margin:.5rem 0 0}
.role-description{font-size:var(--body-size);line-height:1.7;color:#d3e0df;margin:1rem 0 0;max-width:68ch}
.language-lines{display:grid;gap:.4rem}
.expertise-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.25rem,2.5vw,2rem)}.expertise-item{padding:clamp(1.25rem,2.5vw,1.8rem);background:var(--mist);border-top:2px solid #5f8981}.expertise-item:nth-child(even){background:#eff3f6;border-top-color:#6a8497}.expertise-item>span{font-size:.875rem;color:var(--petrol);font-weight:600}.expertise-item h3{color:var(--petrol);font:400 1.6rem/1.3 var(--display);margin:1.5rem 0 .7rem}.expertise-item p{color:var(--ink-soft);font-size:var(--body-size);margin:0}
.education-card{display:grid;grid-template-columns:8rem minmax(0,1fr);align-items:baseline;gap:2rem;padding:2rem 0;border-top:1px solid var(--line)}.education-card>div:first-child{font-size:.875rem;color:var(--petrol);font-weight:600}.education-card h3{font:400 1.6rem/1.3 var(--display);margin:0}.education-card p{font-size:var(--body-size);margin:.8rem 0 0;color:var(--ink-soft)}
.credential-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(1.5rem,3vw,3rem)}.credential-list li{padding:1.5rem 0;border-top:1px solid var(--line)}.credential-list h3{color:var(--petrol);font:400 1.35rem/1.4 var(--display);margin:0 0 .7rem}.credential-list p{font-size:var(--body-size);color:var(--ink-soft);margin:0}
.contact-section{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(22rem,1fr);align-items:center;gap:clamp(2rem,4vw,4rem);background:#dbe9e4;color:var(--petrol-dark);padding:clamp(3rem,5vw,5rem) var(--gutter);border-top:3px solid var(--brass);border-bottom:1px solid #c1d5ce}.contact-section h2{font:400 clamp(2rem,3.7vw,3.5rem)/1.15 var(--display);letter-spacing:-.025em;margin:0;max-width:38rem}.contact-buttons{display:grid;grid-auto-rows:1fr;grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr));gap:1rem}.contact-button{background:var(--petrol);color:white;border-color:var(--petrol);width:100%;justify-content:space-between}.contact-button:hover{background:var(--petrol-dark);border-color:var(--petrol-dark)}.contact-button svg{width:1.25rem;height:1.25rem;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.site-footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;min-height:6rem;background:var(--ink-deep);color:#d8e6e2;padding:1.5rem var(--gutter);font-size:.875rem}.site-footer p{margin:0}
/* Keep enough room for readable paired columns on smaller laptops. */
@media(max-width:64rem){
 .section{grid-template-columns:minmax(0,1fr);gap:1.5rem}
 .section-kicker{display:flex;gap:1rem;align-items:baseline}
 .section-kicker p{margin:0}
}
/* Give tablets and smaller laptop windows a full-width introduction. */
@media(max-width:60rem){
 .hero{display:grid;grid-template-columns:minmax(0,1fr);min-height:0;gap:2rem}
 .identity-panel{max-width:40rem;min-height:0;grid-template-columns:3.5rem minmax(0,1fr);grid-template-rows:auto;gap:1rem;padding:clamp(1.25rem,3vw,2rem)}
 .identity-initials{font-size:2.5rem}
 .identity-content{border-top:0;border-left:1px solid #74938c;padding:0 0 0 1rem}
 .identity-content .micro-label{margin-bottom:.6rem}
 .identity-role{font-size:1.75rem}
 .contact-section{grid-template-columns:minmax(0,1fr);gap:2rem}
 .contact-buttons{width:100%;max-width:36rem}
 /* Stack AG when the card's actual text area is too narrow for two columns. */
 @container identity (max-width:20rem){
  .identity-initials{grid-column:1 / -1;justify-self:center;font-size:3rem}
  .identity-content{grid-column:1 / -1;border-left:0;border-top:1px solid #74938c;padding:1rem 0 0}
 }
}
/* Content width determines whether paired cards remain comfortable to read. */
@container section-content (max-width:46rem){
 .credential-list{grid-template-columns:minmax(0,1fr)}
}
@container section-content (max-width:40rem){
 .expertise-grid{grid-template-columns:minmax(0,1fr)}
}
/* Dates stay above the details whenever the content column becomes narrow. */
@container section-content (max-width:38rem){
 .company-role{grid-template-columns:minmax(0,1fr);gap:.65rem}
 .role-period{padding-top:0}
 .education-card{grid-template-columns:minmax(0,1fr);gap:.8rem}
}
@media(max-width:48rem){
 .site-header{min-height:4.5rem;padding:.6rem var(--gutter)}
 .brand-name,.language-switch{font-size:1rem}
 .brand-mark{width:2.75rem;height:2.75rem}
 .hero-actions{gap:.75rem}
 .hero-actions .button{padding:1rem .75rem}
 .facts-bar{grid-template-columns:minmax(0,1fr)}
 .fact,.fact+.fact{border-left:0;padding:1.25rem 0}
 .fact+.fact{border-top:1px solid var(--line)}
 .section h2{font-size:clamp(2rem,1.75rem + 1vw,2.5rem)}
 .company-heading h3{font-size:1.1rem}
 .company-roles{padding-left:1.4rem}
 .company-role::before{left:-1.7rem}
 .contact-section h2{font-size:clamp(2rem,1.75rem + 1vw,2.5rem)}
 .contact-buttons{max-width:none}
 .contact-button{padding:.9rem 1rem}
}
/* Older browsers retain a safe stacked card and timeline on small screens. */
@supports not (container-type:inline-size){
 @media(max-width:28rem){
  .identity-panel{grid-template-columns:minmax(0,1fr)}
  .identity-content{border-left:0;border-top:1px solid #74938c;padding:1rem 0 0}
 }
 @media(max-width:52rem){
  .expertise-grid,.credential-list{grid-template-columns:minmax(0,1fr)}
 }
 @media(max-width:48rem){
  .company-role,.education-card{grid-template-columns:minmax(0,1fr);gap:.8rem}
 }
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Native disclosure navigation: ordinary links, available without JavaScript. */
.primary-nav{align-items:center;min-width:0;gap:clamp(1rem,1.8vw,1.75rem)}
.primary-nav .nav-direct{display:inline-flex;align-items:center;min-height:2.75rem}
.section-menu{position:relative;color:var(--petrol);font-size:1.125rem;font-weight:600}
.section-menu summary{display:flex;align-items:center;justify-content:space-between;gap:.6rem;min-height:2.75rem;padding:.6rem .25rem;line-height:1.4;cursor:pointer;list-style:none}
.section-menu summary::-webkit-details-marker{display:none}
.menu-chevron{flex-shrink:0;width:1rem;height:1rem;transition:transform .18s}
.section-menu[open] .menu-chevron{transform:rotate(180deg)}
.menu-label-compact{display:none}
.section-links{position:absolute;top:calc(100% + .5rem);right:0;width:min(26rem,90vw);max-height:min(34rem,calc(100vh - var(--header-height,8rem) - 1rem));max-height:min(34rem,calc(100dvh - var(--header-height,8rem) - 1rem));overflow-y:auto;overscroll-behavior:contain;padding:.5rem;background:var(--paper);border:1px solid var(--line);box-shadow:0 .6rem 1.5rem #102e3626;scroll-padding:.5rem}
.primary-nav .section-links a{display:flex;align-items:center;min-height:2.75rem;padding:.65rem .75rem;white-space:normal;font-size:1rem;line-height:1.45;border:0;border-left:3px solid transparent}
.primary-nav .section-links a:hover,.primary-nav .section-links a.is-current{background:var(--mist);border-left-color:var(--petrol)}
.primary-nav .section-links .nav-compact-only{display:none}
.site-footer a{display:inline-flex;align-items:center;min-height:2.75rem;padding:.5rem 0}
/* Large text and short landscape screens should not be covered by the header. */
.site-header.is-tall{position:relative}
.site-header.is-tall .section-links{max-height:70vh;max-height:70dvh}
@media(max-width:80rem){
 .site-header{grid-template-columns:minmax(0,1fr) auto auto;gap:.5rem 1.25rem}
 .primary-nav .nav-direct{display:none}
 .primary-nav .section-links .nav-compact-only{display:flex}
 .menu-label-wide{display:none}
 .menu-label-compact{display:inline}
}
@media(max-width:48rem){
 .site-header{display:flex;flex-wrap:wrap;gap:.25rem .75rem}
 .brand{flex:1 1 11rem}
 .language-switch{margin-inline-start:auto}
 .primary-nav{order:3;flex:1 1 100%;width:100%;border-top:1px solid var(--line)}
 .section-menu{width:100%;position:static;font-size:1rem}
 .section-menu summary{padding:.5rem .25rem}
 .section-links{left:var(--gutter);right:var(--gutter);top:100%;width:auto}
 .hero{padding:2.5rem 0}
 .hero .eyebrow{margin-bottom:1.5rem}
 .hero-statement{margin:1.5rem 0}
 .hero-actions{margin-top:1.5rem}
 .fact,.fact+.fact{padding:1rem 0}
 .section{padding-block:2.5rem;gap:1rem}
 .section h2{margin-bottom:1.5rem}
 .section-content>p{margin:1.25rem 0}
 .timeline{margin-top:1.5rem}
 .company-group{padding:1.75rem 0}
 .company-roles{margin-top:1.25rem}
 .company-role{padding-bottom:1.75rem}
 .company-role:last-child{padding-bottom:0}
 .expertise-item h3{margin-top:1rem}
 .credential-list li{padding:1.25rem 0}
 .education-card{padding:1.5rem 0}
 .contact-section{padding-block:2.5rem;gap:1.5rem}
}
@media(forced-colors:active){
 a:focus-visible,button:focus-visible,summary:focus-visible{outline-color:Highlight;box-shadow:none}
 .language-button.is-active,.primary-nav .section-links a.is-current{border-color:Highlight}
}

@media print{.hero-band{background:white}.name-accent,.section-kicker p,.credential-list h3,.expertise-item h3{color:#101f2e}.expertise-item{background:white}.site-header,.hero-actions,.contact-section,.site-footer{display:none}.hero,.section{display:block;width:100%;padding:1.5rem 0;min-height:0}.identity-panel{display:none}.section-experience{background:white;color:#101f2e}.company-heading h3,.role-detail h4{color:#101f2e}.role-description,.role-period,.role-location,.company-period{color:#4e5964}.section-kicker{display:none}.company-role{break-inside:avoid}body{font-size:10pt}}
