/* Theme */
:root,[data-bs-theme="light"]{--bs-primary:#173f44;--bs-primary-rgb:23,63,68;--bs-body-bg:#f7f3eb;--bs-body-color:#142735;--bs-secondary-color:#5e6a70;--bs-border-color:#d8d2c5;--surface:#eee8dc;--surface-strong:#e4ddcf;--accent:#9a7440;--nav-bg:247,243,235;--focus:#b28a51;--serif:"Source Serif 4",Georgia,serif;--sans:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
[data-bs-theme="dark"]{--bs-primary:#79aeb0;--bs-primary-rgb:121,174,176;--bs-body-bg:#111b21;--bs-body-color:#e9e5dc;--bs-secondary-color:#a9b3b6;--bs-border-color:#344149;--surface:#18262d;--surface-strong:#213139;--accent:#c49a5b;--nav-bg:17,27,33;--focus:#d0aa70}
html{scroll-behavior:smooth;scroll-padding-top:85px}body{font:400 1rem/1.7 var(--sans);background:var(--bs-body-bg);color:var(--bs-body-color);transition:background-color .25s,color .25s}h1,h2,h3{font-family:var(--serif);letter-spacing:-.035em}a{color:var(--bs-primary)}a:focus-visible,button:focus-visible{outline:3px solid var(--focus);outline-offset:4px}.container{max-width:1200px}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:2000;background:var(--bs-body-color);color:var(--bs-body-bg);padding:.7rem 1rem}.skip-link:focus{top:1rem}.section{padding:7.5rem 0}.section-number,.overline{text-transform:uppercase;letter-spacing:.18em;font-size:.71rem;font-weight:700;color:var(--accent)}.section h2{font-size:clamp(2.7rem,5vw,5rem);line-height:1.02;max-width:10ch}.section-intro{color:var(--bs-secondary-color);margin:0}.prose{max-width:70ch}.prose p{font-size:clamp(1.08rem,1.5vw,1.24rem);line-height:1.82;margin-bottom:1.4rem}
/* Navigation */
.navbar{padding:1.1rem 0;background:rgba(var(--nav-bg),0);transition:padding .25s,background-color .25s,box-shadow .25s}.navbar.scrolled{padding:.65rem 0;background:rgba(var(--nav-bg),.94);backdrop-filter:blur(14px);box-shadow:0 .25rem 1.5rem rgba(10,25,33,.08)}.navbar-brand{display:flex;align-items:center;gap:.75rem;color:var(--bs-body-color)}.brand-mark{display:grid;place-items:center;width:2.4rem;height:2.4rem;background:var(--bs-body-color);color:var(--bs-body-bg);font:600 1rem var(--serif)}.brand-name{font:600 1.05rem var(--serif)}.nav-link{position:relative;color:var(--bs-body-color);font-size:.84rem;font-weight:600;margin:0 .35rem}.nav-link:after{content:"";position:absolute;left:.5rem;right:.5rem;bottom:.1rem;height:1px;background:var(--accent);transform:scaleX(0);transition:transform .2s}.nav-link:hover,.nav-link.active{color:var(--accent)}.nav-link.active:after{transform:scaleX(1)}.theme-toggle{width:2.4rem;height:2.4rem;border:1px solid var(--bs-border-color);border-radius:50%;background:transparent;color:var(--bs-body-color)}
/* Hero */
.hero{min-height:100vh;padding:7.5rem 0 3rem;display:flex;align-items:center}.hero-panel{position:relative;display:grid;grid-template-columns:minmax(0,1.22fr) minmax(310px,.78fr);min-height:610px;background:#102932;color:#f4f0e8;overflow:hidden}.hero-panel:before{content:"";position:absolute;left:0;top:0;width:5px;height:34%;background:var(--accent)}.hero-copy{align-self:center;padding:clamp(3rem,7vw,6.5rem);padding-right:clamp(2rem,4vw,4rem)}.hero .overline{display:flex;align-items:center;gap:.8rem;color:#d7b77d;margin-bottom:2.25rem}.hero .overline span{display:block;width:2.2rem;height:1px;background:currentColor}.hero h1{font-size:clamp(4.8rem,9vw,8.8rem);line-height:.78;margin:0 0 2.4rem;color:#fff}.hero h1 span{font-style:italic;font-weight:500;color:#d7b77d}.hero-title{font:500 clamp(1.75rem,3vw,3rem)/1.07 var(--serif);letter-spacing:-.035em;margin:0}.hero-title em{color:#d7b77d;font-weight:500}.hero-positioning{font-size:1rem;line-height:1.75;color:#b9c6c8;max-width:62ch;margin:1.7rem 0 0}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1.7rem;margin-top:2rem}.btn{border-radius:0;padding:.8rem 1.15rem;font-weight:650}.hero-primary{background:#f4f0e8;color:#102932;padding:1rem 1.25rem;border:0}.hero-primary:hover{background:#d7b77d;color:#102932}.hero-primary span{margin-left:1.4rem}.hero-cv{color:#fff;border-bottom:1px solid #d7b77d;padding:.5rem 0;font-size:.87rem;font-weight:700}.hero-cv:hover{color:#d7b77d}.hero-cv span{margin-left:.5rem}.hero-portrait{position:relative;min-height:610px;background:#e9e5da;overflow:hidden}.hero-portrait:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(8,28,34,.65),transparent 38%);pointer-events:none}.hero-portrait img{width:100%;height:100%;object-fit:cover;object-position:51% 32%}.portrait-index{position:absolute;z-index:2;right:1.5rem;top:1.5rem;color:#102932;font-size:.66rem;font-weight:800;letter-spacing:.17em}.portrait-caption{position:absolute;z-index:2;left:1.6rem;bottom:1.5rem;color:#fff;border-left:2px solid #d7b77d;padding-left:.8rem}.portrait-caption span{display:block;font-size:.62rem;text-transform:uppercase;letter-spacing:.15em;color:#d7dedd}.portrait-caption strong{display:block;font:500 1.15rem var(--serif)}.hero-side-label{position:absolute;right:.65rem;top:50%;writing-mode:vertical-rl;transform:translateY(-50%);font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.58);z-index:3}.proof-grid{margin-top:0;border:1px solid var(--bs-border-color);border-top:0}.proof{padding:1.5rem 1.8rem;border-right:1px solid var(--bs-border-color)}.proof:last-child{border-right:0}.proof strong{display:block;font:600 2rem var(--serif);color:var(--accent);line-height:1}.proof span{display:block;margin-top:.45rem;font-size:.72rem;line-height:1.45;color:var(--bs-secondary-color)}
/* Achievements */
.achievements{background:var(--surface)}.achievement-card{height:100%;padding:2rem;border:1px solid var(--bs-border-color);background:var(--bs-body-bg);transition:transform .2s,border-color .2s}.achievement-card:hover{transform:translateY(-4px);border-color:var(--accent)}.achievement-card>span,.credential-side>span{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:700}.achievement-card h3{font-size:1.6rem;margin:1.6rem 0 .7rem}.achievement-card p{color:var(--bs-secondary-color);margin:0;font-size:.92rem}
/* Timeline */
.timeline{position:relative}.timeline:before{content:"";position:absolute;left:27%;top:0;bottom:0;width:1px;background:var(--bs-border-color)}.timeline-item{display:grid;grid-template-columns:27% 73%;padding-bottom:4.5rem;position:relative}.timeline-item:after{content:"";position:absolute;width:.7rem;height:.7rem;border-radius:50%;background:var(--accent);left:calc(27% - .34rem);top:.45rem;box-shadow:0 0 0 .4rem var(--bs-body-bg)}.timeline-meta{padding-right:3.5rem}.timeline-meta time{display:block;color:var(--accent);font-size:.78rem;font-weight:700;margin-bottom:.3rem}.timeline-meta span{color:var(--bs-secondary-color);font-size:.85rem}.timeline-card{padding-left:4rem;max-width:760px}.timeline-card h3{font-size:2rem}.role-summary{font-size:1.08rem;color:var(--bs-secondary-color);margin:1rem 0}.timeline-card ul{padding-left:1.2rem;margin-bottom:0}.timeline-card li{margin:.55rem 0}.timeline-card li::marker{color:var(--accent)}.more-button{border:0;border-bottom:1px solid var(--accent);background:transparent;color:var(--accent);font-weight:700;padding:.2rem 0;margin-top:1rem;font-size:.83rem}.more-button[aria-expanded="true"] span:before{content:"Show less"}.more-button[aria-expanded="true"] span{font-size:0}.more-button[aria-expanded="true"] span:before{font-size:.83rem}
/* Expertise */
.expertise{background:var(--bs-primary);color:#fff}.expertise .section-number{color:#d5b47c}.expertise-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid rgba(255,255,255,.24)}.expertise-grid span{padding:1.2rem 1rem 1.2rem 0;border-bottom:1px solid rgba(255,255,255,.24);color:#edf3f2}.expertise-grid span:nth-child(odd){border-right:1px solid rgba(255,255,255,.24)}.expertise-grid span:nth-child(even){padding-left:1.5rem}
/* Credentials & beyond */
.credential-main,.credential-side{height:100%;padding:2.5rem;background:var(--surface)}.credential-main>p:first-child{color:var(--accent);font-weight:700}.credential-main h3,.credential-side h3{font-size:2rem;margin:.4rem 0}.credential-main>span{font-size:.82rem;color:var(--bs-secondary-color)}.credential-main>p:last-child,.credential-side p{max-width:60ch;margin:1.5rem 0 0;color:var(--bs-secondary-color)}.beyond{border-top:1px solid var(--bs-border-color)}.beyond-item{padding:0 0 2.2rem;margin-bottom:2.2rem;border-bottom:1px solid var(--bs-border-color)}.beyond-item time{font-size:.75rem;color:var(--accent);font-weight:700}.beyond-item h3{font-size:1.65rem;margin:.5rem 0 0}.beyond-item p{font-weight:700;margin:.1rem 0 .5rem}.beyond-item span{color:var(--bs-secondary-color)}
/* Contact & footer */
.contact{padding-top:2rem}.contact-panel{background:var(--bs-body-color);color:var(--bs-body-bg);padding:clamp(2rem,7vw,6rem)}.contact-panel h2{max-width:none;font-size:clamp(3rem,7vw,6.5rem)}.contact-panel>p:not(.section-number){max-width:58ch;opacity:.78;font-size:1.05rem}.contact-links{display:flex;flex-wrap:wrap;gap:2rem;margin-top:2.5rem}.contact-links a{color:var(--bs-body-bg);font-weight:700;border-bottom:1px solid var(--accent);padding-bottom:.3rem}footer{padding:2rem 0;font-size:.78rem;color:var(--bs-secondary-color)}footer p{margin:0}footer a{font-weight:700}
/* Motion & responsive */
.reveal{opacity:0;transform:translateY(1.25rem);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:991.98px){.navbar-collapse{margin-top:.75rem;padding:1rem;background:var(--bs-body-bg);border:1px solid var(--bs-border-color)}.hero-panel{grid-template-columns:1fr;min-height:auto}.hero-copy{order:2}.hero-portrait{order:1;min-height:440px;max-height:540px}.hero-portrait img{object-position:center 23%}.hero-side-label{display:none}.proof{padding-left:1rem}.proof:nth-child(2){border-right:0}.proof:nth-child(-n+2){border-bottom:1px solid var(--bs-border-color)}.timeline:before{left:.35rem}.timeline-item{display:block;padding-left:2.5rem}.timeline-item:after{left:0}.timeline-meta{padding:0 0 1rem}.timeline-card{padding-left:0}}
@media(max-width:575.98px){.section{padding:5rem 0}.hero{padding-top:6rem}.hero-copy{padding:2.5rem 1.5rem}.hero-portrait{min-height:350px}.hero h1{font-size:4.5rem;margin-bottom:1.8rem}.hero-title{font-size:1.8rem}.brand-name{display:none}.proof{padding:1.1rem}.proof strong{font-size:1.65rem}.achievement-card{padding:1.5rem}.expertise-grid{grid-template-columns:1fr}.expertise-grid span:nth-child(odd){border-right:0}.expertise-grid span:nth-child(even){padding-left:0}.contact-links{display:grid;gap:1rem}.contact-links a{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}

/* Hero variation A — bright editorial */
.hero-variation-a .hero{padding-top:8.5rem;background:var(--surface)}
.hero-variation-a .hero-panel{grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);min-height:600px;background:var(--bs-body-bg);color:var(--bs-body-color);border:1px solid var(--bs-border-color);overflow:visible}
.hero-variation-a .hero-panel:before{width:34%;height:5px;background:var(--accent)}
.hero-variation-a .hero-copy{padding-left:clamp(3rem,7vw,7rem)}
.hero-variation-a .hero .overline{color:var(--accent)}
.hero-variation-a .hero h1{color:var(--bs-body-color);font-size:clamp(5.5rem,10vw,9.6rem);margin-left:-.08em}
.hero-variation-a .hero h1 span{color:var(--accent)}
.hero-variation-a .hero-title{color:var(--bs-body-color)}
.hero-variation-a .hero-title em{color:var(--accent)}
.hero-variation-a .hero-positioning{color:var(--bs-secondary-color);max-width:57ch}
.hero-variation-a .hero-primary{background:var(--bs-primary);color:#fff}
.hero-variation-a .hero-primary:hover{background:var(--accent);color:#fff}
.hero-variation-a .hero-cv{color:var(--bs-body-color)}
.hero-variation-a .hero-portrait{min-height:600px;margin:3rem 3rem 3rem 0;background:var(--surface-strong);box-shadow:1.2rem 1.2rem 0 var(--accent)}
.hero-variation-a .hero-portrait:after{background:linear-gradient(to top,rgba(10,32,38,.65),transparent 32%)}
.hero-variation-a .hero-portrait img{object-position:center 25%}
.hero-variation-a .hero-side-label{right:-1.7rem;color:var(--bs-secondary-color)}
.hero-variation-a .proof-grid{background:var(--bs-body-bg)}
@media(max-width:991.98px){.hero-variation-a .hero-panel{grid-template-columns:1fr}.hero-variation-a .hero-portrait{margin:0;min-height:440px;box-shadow:none}.hero-variation-a .hero-copy{padding:3.5rem}.hero-variation-a .hero h1{font-size:clamp(4.5rem,14vw,7rem)}}
@media(max-width:575.98px){.hero-variation-a .hero{padding-top:6rem}.hero-variation-a .hero-copy{padding:2.5rem 1.5rem}.hero-variation-a .hero-portrait{min-height:350px}}
