:root{--ink:#1c1b21;--muted:#73717a;--soft:#4d4a54;--line:rgba(30,25,36,.11);--accent:#c40056;--paper:#fff;--max:1000px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fcfbfa;color:var(--ink);font-family:Inter,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%}.page-grid{position:fixed;inset:0;pointer-events:none;z-index:-1;background-image:linear-gradient(to right,rgba(52,39,54,.037) 1px,transparent 1px),linear-gradient(to bottom,rgba(52,39,54,.037) 1px,transparent 1px);background-size:42px 42px}.shell{width:min(calc(100% - 48px),var(--max));margin:auto}.skip-link{position:absolute;top:-80px;left:20px;z-index:20;background:#111;color:white;padding:12px}.skip-link:focus{top:10px}.nav{height:92px;display:flex;align-items:center;border-bottom:1px solid var(--line);gap:28px;position:relative;z-index:10}.brand{font-size:34px;font-weight:900;letter-spacing:-.12em;line-height:1}.brand span{display:inline-block;transform:rotate(-7deg)}.brand i{color:var(--accent);font-style:normal}.nav-links{display:flex;gap:25px;margin-left:20px}.nav-links a{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--soft);font-weight:650;transition:color .2s}.nav-links a:hover,.nav-links a:focus-visible{color:var(--accent)}.nav-contact{margin-left:auto;display:inline-flex;align-items:center;gap:14px;background:var(--accent);color:white;border-radius:40px;padding:12px 17px;font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.04em;box-shadow:0 7px 17px #c400561e;transition:transform .2s,background .2s}.nav-contact:hover{background:#a90048;transform:translateY(-2px)}.nav-contact img,.btn img{width:16px;height:16px;filter:brightness(0) invert(1)}.menu-toggle{display:none}.hero{position:relative;isolation:isolate;overflow:hidden;border-bottom:1px solid var(--line);min-height:470px}.hero-bg{position:absolute;inset:0;z-index:-1;overflow:hidden;background:linear-gradient(145deg,#fff2e6,#fff5ee 55%,#faf5f8)}.blob{position:absolute;inset:-60%;filter:blur(65px);opacity:.66;will-change:transform}.blob.one{background:radial-gradient(ellipse at 29% 37%,#ff716e 0%,transparent 39%);animation:drift-one 16s ease-in-out infinite alternate}.blob.two{background:radial-gradient(ellipse at 78% 67%,#ffb64b 0%,transparent 40%);animation:drift-two 21s ease-in-out infinite alternate}.blob.three{background:radial-gradient(ellipse at 52% 78%,#8a548e 0%,transparent 34%);opacity:.43;animation:drift-three 23s ease-in-out infinite alternate}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(to right,#ffffff25 1px,transparent 1px),linear-gradient(to bottom,#ffffff25 1px,transparent 1px);background-size:42px 42px;opacity:.45}@keyframes drift-one{0%{transform:translate(-8%,-4%) rotate(-8deg)}100%{transform:translate(13%,11%) rotate(15deg)}}@keyframes drift-two{0%{transform:translate(8%,7%) scale(1)}100%{transform:translate(-13%,-9%) scale(1.17)}}@keyframes drift-three{0%{transform:translate(-7%,8%) rotate(2deg)}100%{transform:translate(15%,-12%) rotate(-15deg)}}.hero-inner{padding:76px 42px 70px;display:grid;grid-template-columns:minmax(0,1fr) 255px;gap:43px;align-items:center}.eyebrow{display:flex;align-items:center;gap:10px;font-weight:800;font-size:10px;letter-spacing:.14em}.eyebrow-line{width:16px;height:2px;background:var(--accent)}.hero h1{font-size:clamp(58px,7.8vw,94px);letter-spacing:-.077em;line-height:.92;margin:24px 0 22px;font-weight:800}.accent{color:var(--accent)}.hero-lead{max-width:570px;font-size:16px;line-height:1.72;color:#35313a;margin:0}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:27px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:43px;border-radius:999px;padding:0 18px;font-size:12px;font-weight:730;transition:transform .2s,box-shadow .2s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--ink);color:white;box-shadow:0 6px 15px #17131a18}.btn-secondary{background:#ffffffa8;border:1px solid #ffffffdf;color:var(--ink)}.btn-secondary img{filter:none}.portrait-wrap{position:relative;justify-self:end;width:240px}.portrait{display:block;width:100%;height:296px;object-fit:cover;object-position:center 20%;border-radius:16px;box-shadow:0 22px 35px #3430401c;border:1px solid #ffffff80}.portrait-caption{font-size:10px;color:#47424a;display:flex;align-items:center;justify-content:center;gap:7px;padding-top:13px}.status-dot{height:6px;width:6px;border-radius:50%;background:#15995b}.snapshot{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--line);padding:28px 0}.stat{padding:8px 22px;border-right:1px solid var(--line);min-height:95px}.stat:first-child{padding-left:0}.stat:last-child{border:0}.stat-label{font-size:10px;letter-spacing:.12em;color:var(--muted);font-weight:700;display:block;margin-bottom:13px}.stat strong{font-size:27px;font-weight:720;letter-spacing:-.055em;display:block;white-space:nowrap}.stat-light{font-size:.68em;font-weight:400;color:#77727c}.stat small{display:block;margin-top:7px;font-size:11px;line-height:1.5;color:var(--muted)}.stat-icons{height:34px;display:flex;gap:11px;align-items:center}.stat-icons img{width:23px;height:23px}.section{padding:57px 0 8px;scroll-margin-top:20px}.section-heading{display:flex;gap:15px;align-items:baseline;border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:27px}.section-no{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.section h2{font-size:27px;font-weight:640;letter-spacing:-.055em;margin:0}.section-note{font-size:12px;color:var(--muted);margin-left:auto}.prose{max-width:930px}.prose p,.contact-intro{font-size:15px;color:var(--soft);line-height:1.9;margin:0 0 14px}.prose strong{color:var(--ink);font-weight:600}.focus-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.focus-card{background:#ffffffc2;border:1px solid var(--line);border-radius:14px;padding:23px 20px;transition:transform .2s,box-shadow .2s}.focus-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px #2e283010}.focus-top{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:9px;letter-spacing:.09em;font-weight:750}.focus-top img{width:28px;height:28px}.focus-card h3{font-size:19px;margin:21px 0 10px;letter-spacing:-.03em}.focus-card p{font-size:13px;line-height:1.75;color:var(--soft);min-height:94px;margin:0}.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px}.tags span{font-size:10px;color:#67616b;border:1px solid #e6e1e3;background:#fcf9fa;border-radius:20px;padding:6px 9px}.timeline-item{display:grid;grid-template-columns:132px 1fr;gap:22px;padding:26px 0;border-bottom:1px solid var(--line)}.timeline-meta{font-size:13px;font-weight:740;color:var(--ink);padding-top:4px}.timeline-meta span{display:block;font-size:10px;color:var(--muted);margin-top:4px;font-weight:550;letter-spacing:.06em}.timeline-title{display:flex;gap:12px;justify-content:space-between;align-items:start}.timeline-title h3{font-size:20px;font-weight:650;letter-spacing:-.03em;margin:0}.timeline-org{font-size:13px;color:var(--accent);font-weight:630;margin:7px 0}.timeline-type{font-size:9px;letter-spacing:.12em;color:var(--muted);text-align:right}.timeline-body>p{font-size:13px;color:var(--soft);line-height:1.75;max-width:740px;margin:9px 0 0}.cert-row{display:flex;align-items:center;gap:18px;padding:18px 0;border-bottom:1px solid var(--line)}.cert-row>img{width:25px;height:25px;flex-shrink:0}.cert-row>div{flex:1}.cert-row h3{font-size:14px;line-height:1.45;font-weight:650;margin:0 0 6px}.cert-row p{font-size:12px;color:var(--muted);margin:0}.cert-row>span{font-size:10px;letter-spacing:.07em;color:var(--muted);white-space:nowrap}.disclaimer{color:var(--muted);font-size:11px;line-height:1.6;margin-top:15px}.contact-intro{margin-bottom:20px}.social-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.social{display:flex;align-items:center;gap:14px;border:1px solid var(--line);border-radius:12px;padding:19px 18px;background:#fff9;transition:transform .2s,border-color .2s}.social:hover{transform:translateY(-2px);border-color:#c4005677}.social>img{width:24px;height:24px;flex-shrink:0}.social>div{min-width:0}.social small{display:block;color:var(--muted);font-size:9px;letter-spacing:.12em;margin-bottom:6px}.social strong{font-size:13px;font-weight:650;overflow-wrap:anywhere}.social img.external{width:15px;height:15px;margin-left:auto;opacity:.6}.outro{margin:75px 0 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:43px 0;display:flex;justify-content:space-between;align-items:end;gap:20px}.outro-kicker{font-size:10px;letter-spacing:.14em;color:var(--muted);font-weight:700}.outro h2{font-size:clamp(36px,5.2vw,65px);line-height:1.05;letter-spacing:-.065em;margin:14px 0 0}.outro h2 span{color:var(--accent)}footer{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:26px 0 35px;color:var(--muted);font-size:11px}footer a:hover{color:var(--accent)}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}@media(max-width:850px){.nav-links{gap:15px;margin-left:3px}.nav-links a{font-size:10px}.hero-inner{padding:65px 28px;grid-template-columns:minmax(0,1fr) 210px;gap:24px}.portrait-wrap{width:210px}.portrait{height:265px}.hero h1{font-size:clamp(54px,8vw,75px)}.snapshot{grid-template-columns:repeat(2,1fr);row-gap:22px}.stat:nth-child(2){border-right:0}.stat:nth-child(3){padding-left:0}.focus-card p{min-height:135px}}@media(max-width:650px){.shell{width:min(calc(100% - 30px),var(--max))}.nav{height:72px;gap:12px}.brand{font-size:30px}.nav-contact{margin-left:auto;padding:10px 13px}.menu-toggle{display:flex;border:1px solid var(--line);border-radius:8px;background:#fff;align-items:center;justify-content:center;width:37px;height:37px;margin-left:auto;cursor:pointer}.menu-toggle img{width:20px}.nav-links{position:absolute;top:62px;left:0;right:0;display:none;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px #00000012;padding:18px;gap:18px;margin:0}.nav-links.open{display:flex}.nav-contact{margin-left:0}.hero-inner{grid-template-columns:1fr;gap:26px;padding:46px 18px 38px}.hero h1{font-size:clamp(57px,13.4vw,82px)}.hero-lead{font-size:14px}.portrait-wrap{width:min(100%,260px);justify-self:start}.portrait{height:230px;width:200px;object-position:50% 25%}.portrait-caption{width:200px}.snapshot{padding:22px 0;gap:0}.stat{padding:15px 12px;min-height:106px;border-bottom:1px solid var(--line)}.stat:first-child{padding-left:0}.stat:nth-child(3){border-bottom:0}.stat:nth-child(4){border-bottom:0}.stat strong{font-size:22px}.stat small{font-size:10px}.section{padding-top:43px}.section-heading{gap:10px}.section h2{font-size:23px}.section-note{font-size:10px}.focus-grid{grid-template-columns:1fr}.focus-card p{min-height:0}.timeline-item{grid-template-columns:1fr;gap:8px}.timeline-meta span{display:inline;margin-left:7px}.timeline-title{display:block}.timeline-type{display:inline-block;margin:8px 0}.cert-row{gap:12px}.cert-row>span{font-size:9px;text-align:right}.social-grid{grid-template-columns:1fr}.outro{margin-top:52px;align-items:start;flex-direction:column}.outro h2{font-size:42px}footer{flex-wrap:wrap;line-height:1.5}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}} 

/* v2: clear separation between certificates and formal education */
.education-block{margin-top:32px;border-top:1px solid var(--line);padding-top:18px}
.education-block>h3{font-size:17px;margin:0 0 7px;font-weight:650;letter-spacing:-.025em}
@media(max-width:650px){.cert-row{align-items:flex-start}.cert-row>span{max-width:84px;white-space:normal;line-height:1.5}}


/* Portfolio v3: animated Sunset.mp4 restricted to the hero only. */
.hero{isolation:isolate;overflow:hidden}
.hero-bg{background:#faaf79 url('../assets/video/sunset-poster.jpg') center/cover no-repeat}
.hero-video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none;z-index:0}
.hero-video-overlay{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(255,248,241,.83) 0%,rgba(255,246,238,.72) 55%,rgba(255,249,245,.58) 100%)}
.hero-grid{z-index:2}
.hero-inner{position:relative;z-index:3}
.hero-lead{color:#322b31}
/* Avoid any horizontal overflow on narrow devices */
html,body{max-width:100%;overflow-x:clip}
.hero-inner>*{min-width:0}
.stat{min-width:0}
.stat strong{white-space:normal;overflow-wrap:break-word}
.timeline-body,.timeline-title>div,.cert-row>div{min-width:0}
.cert-row h3,.cert-row p{overflow-wrap:anywhere}
@media (min-width:651px) and (max-width:1024px){
 .shell{width:min(calc(100% - 40px),var(--max))}
 .hero-inner{grid-template-columns:minmax(0,1fr) minmax(170px,230px);gap:20px}
 .portrait-wrap{max-width:100%}
 .hero h1{font-size:clamp(53px,7.2vw,82px)}
 .nav{gap:16px}.nav-links{gap:13px;margin-left:8px}
}
@media (max-width:650px){
 .shell{width:calc(100% - 28px)}
 .nav-contact{font-size:11px}
 .hero-inner{padding:39px 20px 34px;gap:24px}
 .hero h1{font-size:clamp(50px,12vw,75px);overflow-wrap:normal}
 .hero-video-overlay{background:linear-gradient(180deg,rgba(255,248,242,.80),rgba(255,246,240,.70))}
 .hero-video{object-position:53% center}
 .hero-actions .btn{max-width:100%;text-align:center}
 .portrait-wrap{width:200px;max-width:100%}
 .stat{padding:14px 10px}
 .section-note{max-width:42%;text-align:right;line-height:1.3}
 .timeline-title h3{font-size:19px}
 .cert-row{display:grid;grid-template-columns:26px minmax(0,1fr);align-items:start;column-gap:12px;row-gap:7px}
 .cert-row>span{grid-column:2;max-width:none;white-space:normal;text-align:left}
}
@media (max-width:360px){
 .shell{width:calc(100% - 20px)}
 .nav{gap:8px}.nav-contact{padding:9px 10px}
 .hero-inner{padding:33px 14px}
 .hero h1{font-size:clamp(43px,12vw,52px)}
 .btn{font-size:11px;padding:0 12px}
 .stat strong{font-size:19px}
 .section h2{font-size:21px}
 .section-heading{gap:8px}
}
@media (prefers-reduced-motion:reduce){.hero-video{display:none}}
