
:root{--ink:#1c2b46;--accent:#304f82;--text:#415b7d;--line:#ccd9ed;--soft:#f4f7fd;--white:#fff;--shadow:0 12px 32px rgba(28,43,70,.07)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"DM Sans",Arial,sans-serif;color:var(--ink);background:#fff}a{text-decoration:none;color:inherit}.serif{font-family:"Playfair Display",Georgia,serif}.wrap{width:min(1180px,calc(100% - 56px));margin:auto}
.nav{height:72px;border-bottom:1px solid #edf1f8;background:rgba(255,255,255,.95);position:sticky;top:0;z-index:30}.nav .wrap{height:100%;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:12px;align-items:center;font-weight:700}.brand small{display:block;font-size:9px;letter-spacing:.17em;color:#5e84c3}.navlinks{display:flex;gap:34px;align-items:center;font-size:13px}.navlinks a{padding:25px 0 16px;border-bottom:2px solid transparent}.navlinks a.active{color:var(--accent);border-color:var(--accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 23px;border-radius:7px;border:1px solid #afc2e1;font-weight:600;font-size:14px}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 9px 22px rgba(48,79,130,.18)}.btn.dark{background:#304f82;border-color:#304f82;color:#fff}
.eyebrow{color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#fff 0%,#fff 58%,#f5f7fb 58.2%,#fff 100%)}.hero-grid{min-height:330px;display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:40px}.hero-copy{align-self:center;padding:25px 0}.hero h1{font-size:48px;line-height:1.04;margin:11px 0 15px;font-weight:500;letter-spacing:-.025em}.hero h1 em{font-style:normal;color:var(--accent)}.hero p{color:var(--text);font-size:16px;line-height:1.58;max-width:610px;margin:0 0 20px}.hero-actions{display:flex;gap:16px;flex-wrap:wrap}.download{display:inline-block;margin-top:18px;color:#4d77bd;text-decoration:underline;text-underline-offset:5px;font-size:13px}.portrait{height:330px;display:flex;align-items:flex-end;justify-content:center}.portrait img{height:318px;max-width:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 20px 30px rgba(28,43,70,.16))}
.trust{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fdfdfd}.trust-label{text-align:center;padding-top:12px;color:#6e91ca;letter-spacing:.18em;font-size:10px}.trust-row{display:grid;grid-template-columns:repeat(4,1fr);align-items:center;text-align:center;height:72px}.org{font-weight:700;font-size:23px}.scotia{color:#e31b23}.tang{color:#f66b13}.sofi{color:#3f67aa}
.section{padding:36px 0}.section h2{font-size:33px;text-align:center;margin:0 0 24px;font-weight:500}.strengths{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.impact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card{border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:var(--shadow)}.strength{padding:20px;min-height:142px;display:grid;grid-template-columns:50px 1fr;gap:14px}.ico{width:48px;height:48px;border-radius:50%;background:#f0f3f9;display:grid;place-items:center;color:var(--accent)}.ico svg{width:26px;height:26px}.strength h3,.impact h3{font-family:"Playfair Display";font-size:19px;margin:0 0 8px}.strength p,.impact p{font-size:12.5px;color:#426db3;line-height:1.5;margin:0}.how{background:#fafbfd;border-top:1px solid #edf2f9;border-bottom:1px solid #edf2f9}.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.how-item{padding:18px 20px;border-left:3px solid var(--accent);background:#fff;border-radius:8px;box-shadow:0 8px 22px rgba(28,43,70,.04)}.how-item h3{font-family:"Playfair Display";font-size:19px;margin:0 0 7px}.how-item p{font-size:12px;color:#426db3;line-height:1.5;margin:0}.how-item strong{display:block;color:var(--accent);font-size:10px;margin-top:9px}
.timeline-title{font-size:31px;text-align:center;margin:10px 0 17px}.timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;align-items:start}.job{text-align:center;border-top:1px solid #bfcee7;padding:14px 8px 0;position:relative}.job:before{content:"";position:absolute;top:-5px;left:50%;width:9px;height:9px;border-radius:50%;background:var(--accent);transform:translateX(-50%)}.years{color:var(--accent);font-weight:700;font-size:12px}.job h3{margin:9px 0 5px;font-size:17px}.job p{font-size:12px;color:#3a5f9d;margin:0}
.impact{padding:17px;border-left:3px solid var(--accent);min-height:0}.impact .ico{width:42px;height:42px}.impact .ico svg{width:23px;height:23px}.impact .big{font-family:"Playfair Display";color:var(--accent);font-size:34px;line-height:1;margin:6px 0 9px}.impact h3{font-size:18px;line-height:1.22;margin-bottom:6px}.impact p{font-size:12px;line-height:1.42}.impact-link{display:block;transition:transform .18s ease,box-shadow .18s ease}.impact-link:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(28,43,70,.11)}.projects-intro{max-width:620px;margin:-12px auto 24px;text-align:center;color:#426db3;font-size:13px;line-height:1.55}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.project{overflow:hidden;display:flex;flex-direction:column;min-height:100%;transition:transform .18s ease,box-shadow .18s ease}.project:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(28,43,70,.11)}.project-preview{position:relative;height:210px;overflow:hidden;background:radial-gradient(circle at 50% 18%,#f3f6fa 0%,#f8f9fc 48%,#edf2f9 100%);display:flex;align-items:flex-end;justify-content:center;gap:8px;padding:22px 14px 0}.project-preview.green{background:radial-gradient(circle at 50% 18%,#e8fbef,#f5fbf7 52%,#e3f3e8)}.project-shot{width:31%;max-width:100px;border-radius:15px 15px 0 0;border:4px solid #16243c;border-bottom:0;background:#0f1929;box-shadow:0 13px 26px rgba(28,43,70,.18);overflow:hidden;transform-origin:bottom center}.project-shot:nth-child(1){transform:translateY(16px) rotate(-5deg) scale(.92)}.project-shot:nth-child(2){transform:scale(1.04);z-index:2}.project-shot:nth-child(3){transform:translateY(16px) rotate(5deg) scale(.92)}.project-shot img{width:100%;height:188px;object-fit:cover;object-position:top;display:block}.project-body{padding:18px 18px 17px;display:flex;flex-direction:column;flex:1}.project-kicker{color:var(--accent);font-size:9px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;margin-bottom:7px}.project h3{font-family:"Playfair Display";font-size:20px;margin:0 0 7px}.project p{font-size:11.5px;color:#4d77bd;margin:0;line-height:1.45}.tags{display:flex;gap:6px;margin-top:auto;padding-top:13px}.tag{font-size:10px;background:#f3f6fa;color:#406aaf;padding:4px 8px;border-radius:5px}.projects-more{display:flex;justify-content:center;margin-top:22px}
.cta{margin:28px auto 36px;background:linear-gradient(120deg,#1c2b46,#304f82);border-radius:14px;color:#fff;min-height:128px;padding:27px 34px;display:grid;grid-template-columns:1.1fr 1fr;gap:30px;align-items:center;overflow:hidden}.cta h2{font-size:31px;margin:0;text-align:left}.cta h2 em{color:#ccd9ed;font-style:normal}.cta p{font-size:13px;color:#f4f7fd}.cta-actions{display:flex;gap:14px;align-items:center}.footer{padding:12px 0 30px;color:#7a9ace;font-size:11px}
.stats{margin-top:-18px;position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);padding:26px 32px;gap:30px}.stat{display:flex;gap:18px;align-items:center;border-right:1px solid var(--line)}.stat:last-child{border:0}.stat .num{font-family:"Playfair Display";font-size:42px;line-height:1}.stat p{font-size:12px;color:#3f68ac;line-height:1.5;margin:0}.experience-list{position:relative;margin:34px 0}.experience-list:before{content:"";position:absolute;left:24px;top:0;bottom:0;width:1px;background:#b5c6e3}.exp{margin:0 0 16px 58px;padding:22px 24px;display:grid;grid-template-columns:180px 1fr 120px;gap:24px;position:relative}.exp:before{content:"";position:absolute;width:14px;height:14px;background:var(--accent);border:4px solid white;border-radius:50%;left:-42px;top:24px;box-shadow:0 0 0 1px #c7d4ea}.exp h3{font-family:"Playfair Display";font-size:23px;margin:0 0 8px}.exp ul{margin:0;padding-left:18px;color:#385d99;font-size:12.5px;line-height:1.5}.exp .when{color:var(--accent);font-weight:700;font-size:12px;text-align:right}
.case{display:grid;grid-template-columns:1.05fr .95fr;gap:26px;padding:28px}.case h3{font-family:"Playfair Display";font-size:25px;margin:8px 0}.case p,.case li{font-size:12.5px;color:#3f68ac;line-height:1.5}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;border:1px solid var(--line);border-radius:9px;padding:18px;margin-top:18px}.metric b{font-family:"Playfair Display";font-size:35px;color:var(--accent);display:block}.step{display:grid;grid-template-columns:50px 1fr;gap:12px;margin-bottom:18px}
.filters{display:flex;gap:40px;justify-content:center;margin:18px 0 28px;font-size:13px}.filters .active{border:1px solid var(--accent);color:var(--accent);padding:8px 22px;border-radius:7px}
.ai-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.ai-card{overflow:hidden}.ai-card img{width:100%;height:165px;object-fit:cover}.ai-card .project-body{padding:14px}.more-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.mini{padding:15px}.mini h4{margin:0 0 5px;font-size:13px}.mini p{font-size:11px;color:#4f79be;margin:0}
@media(max-width:900px){.wrap{width:min(100% - 30px,760px)}.navlinks{display:none}.hero-grid{grid-template-columns:1fr}.portrait{height:270px}.portrait img{height:260px}.strengths,.impact-cards,.projects-grid,.ai-grid{grid-template-columns:1fr 1fr}.timeline{grid-template-columns:1fr}.job{text-align:left}.how-grid{grid-template-columns:1fr}.stats{grid-template-columns:1fr}.stat{border-right:0;border-bottom:1px solid var(--line);padding-bottom:14px}.exp{grid-template-columns:1fr;margin-left:40px}.exp .when{text-align:left}.case{grid-template-columns:1fr}.cta{grid-template-columns:1fr}.more-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.wrap{width:calc(100% - 24px)}.hero h1{font-size:38px}.hero-grid{gap:24px}.hero-copy{padding:30px 0 0}.hero-actions{margin-bottom:0}.portrait{height:230px;margin-top:0}.portrait img{height:220px}.strengths,.projects-grid,.ai-grid,.more-grid{grid-template-columns:1fr}.impact-cards,.projects-grid{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:24px;margin:0 -12px;padding:5px 24px 22px;scrollbar-width:none}.impact-cards::-webkit-scrollbar,.projects-grid::-webkit-scrollbar{display:none}.impact-cards .impact,.projects-grid .project{flex:0 0 min(84vw,350px);scroll-snap-align:center;opacity:.62;transform:scale(.96);transition:opacity .18s ease,transform .18s ease,box-shadow .18s ease}.impact-cards .impact{flex-basis:min(78vw,330px)}.impact-cards .impact.marquee-active,.projects-grid .project.marquee-active{opacity:1;transform:scale(1);box-shadow:0 16px 34px rgba(28,43,70,.13)}.trust-row{grid-template-columns:1fr 1fr;height:auto;padding:18px 0;gap:20px}.section h2,.timeline-title{font-size:28px}.stats{padding:20px}.cta{padding:25px 22px}.exp{margin-left:30px;padding:18px}}
.nr-logo{width:36px;height:29px;color:var(--accent);display:block;flex:0 0 auto}.brand{display:flex;gap:11px;align-items:center;font-weight:700}.brand>span{line-height:1.05}.brand small{display:block;font-size:9px;letter-spacing:.17em;color:#5e84c3;margin-top:4px}
.company-logo{display:inline-flex;align-items:center;gap:6px;font-weight:700;line-height:1;white-space:nowrap}.company-logo.scotia-logo{color:#e31b23;font-size:18px}.company-logo.tangerine-logo{color:#f66b13;font-size:18px}.company-logo.tech-logo{color:#1f3355;font-size:18px}.company-logo.sofi-logo{color:#3f67aa;font-size:18px}.sofi-dots{display:grid;grid-template-columns:repeat(3,3px);gap:2px}.sofi-dots i{width:3px;height:3px;border-radius:50%;background:currentColor;display:block}.sap-logo{display:inline-flex;align-items:center;background:#3a5f9c;color:white;font-weight:800;font-size:17px;letter-spacing:-.04em;padding:5px 12px 4px 9px;clip-path:polygon(0 0,100% 0,84% 100%,0 100%);line-height:1}.logo-stack{min-height:30px;display:flex;align-items:center;justify-content:center;margin:7px 0 5px}.job-logo{min-height:28px;display:flex;align-items:center;justify-content:center;margin:7px 0 4px}
.timeline-title{margin:0 0 24px!important}.timeline .job{display:block;transition:.18s ease;border-radius:8px;padding-bottom:10px}.timeline .job:hover{background:#f4f7fd;transform:translateY(-2px)}.timeline .job h3{margin-top:4px}.trust-row .company-logo{justify-content:center}

body{font-size:16px;line-height:1.6}.nav{height:auto;min-height:76px}.nav .wrap{gap:20px;flex-wrap:wrap;padding-block:16px}.navlinks{font-size:14px;gap:22px;flex-wrap:wrap}.navlinks a{padding:4px 0}.brand small{font-size:12px;letter-spacing:.06em}.hero-grid{min-height:410px;align-items:center}.hero h1{line-height:1.15}.portrait{height:290px;align-items:center}.photo-placeholder{height:260px;width:230px;border:1px dashed #8fa9d5;border-radius:12px;display:grid;place-content:center;text-align:center;color:#3a5f9d;background:#f4f7fd}.photo-placeholder small{font-size:14px}.draft-note{background:#f2f5fa;color:#415b7d;padding:10px 0;font-size:14px}.section{scroll-margin-top:100px}.section h2{text-align:left}.impact p,.how-item p,.job p,.exp ul,.footer{font-size:16px}.impact h3,.how-item h3{font-size:23px}.impact{padding:25px}.timeline{grid-template-columns:repeat(3,1fr)}.job{text-align:left;padding:18px}.job:before{left:18px}.years{font-size:14px}.pending{color:#416bb0}.page-heading{padding:50px 0 24px}.page-heading h1{font-size:42px;font-weight:500;margin:0 0 10px}.content-card{padding:28px;margin-bottom:20px}.content-card h2{font-size:25px;font-weight:500;margin-top:0}.content-card p{color:#3a5f9d}.empty-label{font-size:14px;color:#3a5f9d;border:1px dashed #8fa9d5;border-radius:7px;padding:12px 18px;display:inline-block}.footer{border-top:1px solid var(--line);padding-block:24px;margin-top:40px}.skip{position:absolute;left:16px;top:-100px;background:white;padding:12px;z-index:100}.skip:focus{top:10px}a:focus-visible{outline:3px solid #304f82;outline-offset:5px}.cta p{font-size:16px}.cta h2{font-size:30px}.eyebrow{font-size:14px}@media(max-width:900px){.navlinks{display:flex}.hero-grid{grid-template-columns:1fr 0.7fr}.portrait{height:auto}.photo-placeholder{width:100%;height:240px}}@media(max-width:600px){.nav .wrap{align-items:flex-start}.navlinks{gap:12px 18px}.hero-grid{grid-template-columns:1fr;padding-bottom:30px}.portrait{justify-content:flex-start}.photo-placeholder{width:100%;height:170px}.impact-cards{display:grid;grid-template-columns:1fr;margin:0;padding:0;overflow:visible}.impact-cards .impact{opacity:1;transform:none}.timeline{grid-template-columns:1fr}.hero h1,.page-heading h1{font-size:36px}.cta{margin-block:24px}.hero-copy{padding-top:32px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.variant-bar{background:var(--ink);color:white;padding:10px 0;font-size:14px}.variant-bar .wrap{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.variant-bar a{text-decoration:underline;text-underline-offset:4px}

body{background:#f4f7fd}.nav{background:#f4f7fd;border-color:#ccd9ed}.hero{background:linear-gradient(135deg,#fff 0%,#fff 58%,#ccd9ed 58.2%,#f4f7fd 100%)}.how,.draft-note,.photo-placeholder{background:#f4f7fd;border-color:#ccd9ed}.brand small,.pending,.footer,.impact p,.how-item p,.job p,.content-card p,.photo-placeholder,.empty-label{color:#415b7d}.photo-placeholder,.empty-label,.btn,.job{border-color:#ccd9ed}.cta{background:linear-gradient(120deg,#1c2b46,#304f82)}.cta p{color:#f4f7fd}.navlinks a.active{border-color:#304f82}

/* Match the concise layout of Nicolas's profile. */
.hero-grid{min-height:330px}.hero-copy{padding:28px 0}.hero h1{font-size:48px;line-height:1.06;max-width:640px}.hero p{max-width:580px;line-height:1.58}.portrait{height:300px}.photo-placeholder{height:250px}.section{padding:30px 0}.section h2{text-align:center;font-size:33px;margin-bottom:22px}.impact{padding:22px;min-height:130px}.impact h3,.how-item h3{font-size:22px;margin-bottom:9px}.impact p,.how-item p{font-size:16px;line-height:1.5}.how-item{padding:20px}.trust-label{font-size:12px;color:var(--text);letter-spacing:.12em}.trust-row .org{font-size:21px;color:var(--ink);font-weight:500}.cta .cta-actions{justify-content:flex-end}.content-card{padding:22px 26px}.content-card p{margin-bottom:0}.page-heading{padding-top:38px}.footer{font-size:14px;margin-top:24px}@media(max-width:600px){.hero h1{font-size:38px}.hero-copy{padding-top:28px}.portrait{height:170px}.photo-placeholder{height:160px}.section h2{font-size:28px}.trust-row .org{font-size:18px}.cta .cta-actions{justify-content:flex-start}.impact{min-height:0}}

.resume-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.resume-grid .content-card{margin-bottom:0}.content-card ul{padding-left:20px;margin:12px 0 0;color:var(--text);font-size:16px;line-height:1.65}.content-card .pending{font-size:14px}.resume-grid + .content-card{margin-top:20px}@media(max-width:700px){.resume-grid{grid-template-columns:1fr}}

.employer{font-weight:600;color:var(--accent)!important;margin-top:-4px}.result{display:block;font-family:Georgia,serif;font-size:32px;color:var(--accent);margin:8px 0 16px}.resume-career{margin:18px 0 32px}.resume-role{display:flex;justify-content:space-between;gap:24px;padding:16px 0;border-bottom:1px solid var(--line)}.resume-role p{margin:4px 0 0;color:var(--text)}.resume-role>span{font-size:14px;color:var(--text);text-align:right}.impact .big{font-size:32px}.content-card li+li{margin-top:5px}@media(max-width:600px){.resume-role{display:block}.resume-role>span{display:block;text-align:left;margin-top:6px}}

.portrait .sofia-portrait{width:260px;height:300px;object-fit:cover;object-position:center 30%;border-radius:12px;filter:none}@media(max-width:600px){.portrait{height:260px}.portrait .sofia-portrait{width:220px;height:260px}}

/* Larger transparent portrait aligned with the hero baseline. */
.hero-grid{min-height:390px;align-items:end}.hero .portrait{height:390px;align-self:end;align-items:flex-end;justify-content:center}.hero .portrait .sofia-portrait{display:block;width:auto;height:390px;max-width:100%;object-fit:contain;object-position:center bottom;border-radius:0;filter:none}@media(max-width:900px) and (min-width:601px){.hero .portrait{height:350px}.hero .portrait .sofia-portrait{height:auto;max-height:350px;width:100%}}@media(max-width:600px){.hero-grid{padding-bottom:0;gap:18px}.hero .portrait{height:330px}.hero .portrait .sofia-portrait{height:330px;width:auto}.hero-copy{padding-bottom:0}}

/* Shared system aligned to Nicolas's profile */
.nav{height:72px;min-height:72px;background:rgba(255,255,255,.95)}.nav .wrap{height:72px;padding-block:0;gap:24px;flex-wrap:nowrap}.brand small{font-size:9px;letter-spacing:.17em;color:#7f8ca2}.navlinks{font-size:13px;gap:34px;flex-wrap:nowrap}.navlinks a{padding:25px 0 16px}.footer{border:0;padding:12px 0 30px;margin-top:0;font-size:11px;color:#7a9ace}.experience-hero{background:linear-gradient(135deg,#fff 0%,#fff 58%,#e8f0fa 58.2%,#fff 100%)}.experience-hero .wrap{min-height:240px;padding:54px 0 40px}.experience-hero h1{font:500 48px/1.04 "Playfair Display",Georgia,serif;margin:0 0 12px}.experience-hero p{margin:0;max-width:590px;color:var(--text);font-size:16px;line-height:1.58}.experience-list{position:relative;max-width:1080px;margin:48px auto 40px;padding-left:10px}.experience-list:before{content:"";position:absolute;left:30px;top:0;bottom:0;width:1px;background:#b9c9df}.exp{scroll-margin-top:92px;margin:0 0 16px 72px;padding:24px 26px;display:grid;grid-template-columns:190px minmax(0,1fr) 132px;gap:24px;position:relative;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:var(--shadow)}.exp:before{content:"";position:absolute;width:14px;height:14px;background:var(--accent);border:4px solid white;border-radius:50%;left:-50px;top:24px;box-shadow:0 0 0 1px #c8d7e9}.exp h2{font:500 23px/1.2 "Playfair Display",Georgia,serif;margin:0 0 8px}.exp ul{margin:0;padding-left:18px;color:var(--text);font-size:12.5px;line-height:1.55}.exp li+li{margin-top:9px}.exp time{color:var(--accent);font-weight:700;font-size:12px;text-align:right;padding-top:5px}.exp-meta{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.exp-meta strong{font-size:16px;line-height:1.25}.tag{display:inline-block;font-size:10px;background:#edf3fb;color:#476793;padding:4px 8px;border-radius:5px}.resume-page{padding-bottom:40px}.resume-head{padding:42px 0 24px;display:flex;justify-content:space-between;align-items:end;gap:24px}.resume-head h1{font:500 44px/1.04 "Playfair Display",Georgia,serif;margin:0 0 7px}.resume-head p{margin:0;color:#647187}.resume-summary{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;margin-bottom:32px}.resume-summary p{font:500 22px/1.35 "Playfair Display",Georgia,serif;max-width:720px;margin:0}.resume-section{margin:0 0 36px}.section-label{font-size:11px;letter-spacing:.16em;color:var(--accent);font-weight:700;margin-bottom:12px}.resume-list{border-top:1px solid var(--line)}.resume-list a{display:grid;grid-template-columns:minmax(0,1fr) 150px 20px;gap:20px;align-items:center;border-bottom:1px solid var(--line);padding:17px 4px;transition:background .18s ease,padding .18s ease}.resume-list a:hover{background:#f6f9fe;padding-inline:12px}.resume-list strong{font:500 20px/1.2 "Playfair Display",Georgia,serif;display:block}.resume-list small{display:block;color:var(--text);font-size:13px;margin-top:4px}.resume-list time{color:var(--accent);font-size:12px;font-weight:700;text-align:right}.resume-list b{font-size:19px;color:var(--accent);font-weight:500}.credential-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.credential-grid article{border:1px solid var(--line);border-radius:10px;padding:18px 20px;min-height:94px}.credential-grid strong{font:500 19px/1.22 "Playfair Display",Georgia,serif;display:block}.credential-grid span{display:block;font-size:13px;color:var(--text);margin-top:7px}.skill-line{margin:0;color:var(--text);font-size:14px;line-height:1.6;max-width:900px}@media(max-width:900px){.nav .wrap{height:auto;min-height:72px;flex-wrap:wrap;padding-block:12px}.navlinks{display:flex;gap:14px 22px;flex-wrap:wrap}.experience-hero .wrap{padding:40px 0}.exp{grid-template-columns:1fr;margin-left:46px}.exp:before{left:-38px}.experience-list:before{left:20px}.exp time{text-align:left}.credential-grid{grid-template-columns:1fr}.resume-list a{grid-template-columns:minmax(0,1fr) 120px 18px}}@media(max-width:560px){.navlinks{font-size:12px}.experience-hero h1{font-size:38px}.experience-list{margin-top:30px}.exp{margin-left:30px;padding:18px}.resume-head{padding:32px 0 20px;align-items:flex-start;flex-direction:column}.resume-head h1{font-size:36px}.resume-summary p{font-size:20px}.resume-list a{grid-template-columns:1fr 18px;gap:10px;padding:16px 2px}.resume-list time{grid-column:1;color:var(--text);text-align:left}.resume-list b{grid-column:2;grid-row:1}.credential-grid article{min-height:auto}.footer{font-size:11px}}
.brand:before{content:"SA";display:grid;place-items:center;width:34px;height:29px;border-radius:7px;background:var(--accent);color:#fff;font:700 12px/1 "DM Sans",Arial,sans-serif;letter-spacing:-.05em;flex:0 0 auto}.experience-hero .eyebrow{margin-bottom:10px}.experience-hero + .wrap{padding-top:32px;padding-bottom:32px}.hero{background:linear-gradient(135deg,#fff 0%,#fff 58%,#e8f0fa 58.2%,#fff 100%)}.timeline .job{min-height:136px}.timeline .job h3{font:500 18px/1.2 "Playfair Display",Georgia,serif;color:var(--ink)}.timeline .job p{line-height:1.45}.timeline .job:focus-visible{outline:3px solid var(--accent);outline-offset:4px}@media(max-width:600px){.timeline{gap:12px}.timeline .job{min-height:auto;padding:18px 20px 18px 28px;border:1px solid var(--line);border-top:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow)}.timeline .job:before{left:18px;top:18px}.timeline .job h3{margin:8px 0 5px}.timeline .job p{font-size:14px}}

/* Keep anchored roles clear of the taller wrapped navigation on smaller screens. */
@media(max-width:900px){.exp{scroll-margin-top:170px}}

/* Responsive navigation is intentionally a solid two-row surface. */
@media(max-width:900px){.nav{min-height:142px;height:142px;background:#fff!important;box-shadow:0 4px 16px rgba(28,43,70,.08);z-index:100}.nav .wrap{height:142px;min-height:142px;display:grid;grid-template-columns:1fr;grid-template-rows:72px 70px;gap:0;padding:0}.brand{align-self:center}.navlinks{width:100%;height:70px;display:flex;align-items:center;gap:22px;flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;padding:0 2px;scrollbar-width:none}.navlinks::-webkit-scrollbar{display:none}.navlinks a{padding:24px 0 17px;flex:0 0 auto}.exp{scroll-margin-top:170px}}@media(max-width:560px){.nav{min-height:130px;height:130px}.nav .wrap{height:130px;min-height:130px;grid-template-rows:64px 66px}.brand:before{width:30px;height:27px;font-size:11px}.brand small{font-size:8px;letter-spacing:.12em}.navlinks{height:66px;gap:18px}.navlinks a{padding:21px 0 16px}.exp{scroll-margin-top:158px}}

/* Navigation order and resume viewer. */
.navlinks a[href="index.html"]{order:1}.navlinks a[href="achievements.html"]{order:2}.navlinks a[href="experience.html"]{order:3}.navlinks a[href="resume.html"]{order:4}.navlinks a[href="contact.html"]{order:5}.resume-view-page{padding:44px 0 38px}.resume-view-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:26px}.resume-view-head h1{font:500 46px/1.04 "Playfair Display",Georgia,serif;margin:7px 0 8px}.resume-view-head p{margin:0;color:var(--text);font-size:15px}.resume-viewer{height:min(1060px,calc(100vh - 220px));min-height:720px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#f4f7fd;box-shadow:var(--shadow)}.resume-viewer object{display:block;width:100%;height:100%;border:0}.resume-viewer p{margin:0;padding:28px;color:var(--text)}.experience-resume-link{margin-top:20px}@media(max-width:700px){.resume-view-page{padding-top:30px}.resume-view-head{align-items:flex-start;flex-direction:column;margin-bottom:18px}.resume-view-head h1{font-size:38px}.resume-viewer{height:calc(100vh - 230px);min-height:560px;border-radius:8px}.experience-resume-link{margin-top:16px}}

/* Explicit ordering prevents page-specific markup from changing the menu sequence. */
.navlinks a[href="index.html"]{order:1!important}.navlinks a[href="achievements.html"]{order:2!important}.navlinks a[href="experience.html"]{order:3!important}.navlinks a[href="resume.html"]{order:4!important}.navlinks a[href="contact.html"]{order:5!important}.brand:before,.btn.primary{background:#304f82!important;border-color:#304f82!important}.btn.primary{box-shadow:none}.resume-actions{display:flex;gap:12px;flex-wrap:wrap}.pdf-shell{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 34px rgba(28,43,70,.07);padding:10px;margin-bottom:36px}.pdf-shell object{width:100%;height:78vh;min-height:720px;border:0;border-radius:8px;display:block}.resume-preview{display:grid;gap:18px;padding:18px;background:#eaf0f9}.resume-preview img{display:block;width:100%;height:auto;background:#fff;box-shadow:0 8px 24px rgba(28,43,70,.16)}@media(max-width:700px){.pdf-shell{padding:5px;border-radius:8px}.pdf-shell object{height:72vh;min-height:560px}.resume-preview{gap:8px;padding:8px}.resume-actions{width:100%}}

/* A flatter career timeline: company and contribution read as one statement. */
.timeline .job h3{display:inline;font:600 17px/1.45 "DM Sans",Arial,sans-serif;color:var(--ink);margin:0}.timeline .job h3:after{content:" · "}.timeline .job p{display:inline;font-size:14px;line-height:1.45;color:var(--text)}@media(max-width:600px){.timeline .job h3{font-size:16px}.timeline .job p{font-size:14px}}

/* Override legacy card typography so this change is obvious in every browser. */
.timeline .job h3{display:block!important;font:600 16px/1.35 "DM Sans",Arial,sans-serif!important;color:var(--ink)!important;margin:7px 0 2px!important}.timeline .job h3:after{content:""!important}.timeline .job p{display:block!important;margin:0!important;font-size:13px!important;line-height:1.45!important;color:var(--text)!important}

/* Desktop timeline mirrors the compact five-stage composition of Nicolas's profile. */
@media(min-width:901px){.timeline{grid-template-columns:repeat(5,1fr)!important;gap:12px!important;align-items:start}.timeline .job{min-height:0!important;text-align:center!important;padding:14px 8px 16px!important;border-top:1px solid #bfcee7!important}.timeline .job:before{left:50%!important;top:-5px!important}.timeline .job h3{display:block!important;font:700 18px/1.2 "DM Sans",Arial,sans-serif!important;margin:9px 0 6px!important;text-align:center!important}.timeline .job p{display:block!important;font-size:12px!important;line-height:1.45!important;text-align:center!important}.timeline .years{font-size:12px!important}.timeline .job[href$="#loblaw"] h3{color:#c52035!important}.timeline .job[href$="#scotiabank"] h3{color:#e31b23!important}.timeline .job[href$="#cimento"] h3{color:#304f82!important}.timeline .job[href$="#aig"] h3{color:#4875ab!important}.timeline .job[href$="#american-budget"] h3{color:#2f5f9e!important}}

@media(max-width:900px){.timeline{display:grid!important;grid-template-columns:1fr!important;gap:0!important;position:relative!important;margin:0 0 0 46px!important;padding:0 0 0 42px!important}.timeline:before{content:""!important;position:absolute!important;left:0!important;top:10px!important;bottom:28px!important;width:1px!important;background:#8fb2e9!important}.timeline .job{min-height:0!important;text-align:left!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding:0 0 28px!important}.timeline .job:before{left:-54px!important;top:7px!important;width:17px!important;height:17px!important;border:0!important;box-shadow:none!important;background:#304f82!important}.timeline .job h3{display:block!important;text-align:left!important;font:700 18px/1.25 "DM Sans",Arial,sans-serif!important;margin:8px 0 6px!important}.timeline .job p{display:block!important;text-align:left!important;font-size:14px!important;line-height:1.45!important;margin:0!important}.timeline .years{font-size:14px!important}.timeline .job:last-child{padding-bottom:0!important}}
