@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&family=Instrument+Serif:ital@0;1&family=Noto+Naskh+Arabic:wght@400;600&display=swap');
:root{--bg:#fcfcff;--paper:#fff;--ink:#1a2034;--muted:#626b80;--blue:#294cf4;--pink:#eab2ce;--line:#dfe3ee;--soft:#f0f3ff;--dark:#111b39}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.75}a{color:inherit;text-decoration:none}button,summary{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:5px}header{max-width:1400px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:25px 6%;gap:24px}nav{display:flex;align-items:center;gap:24px;font-size:14px;color:var(--muted)}nav a:hover,.text-link:hover{color:var(--blue)}.brand{font:800 29px 'Manrope',sans-serif;letter-spacing:-1.5px}.brand span{color:var(--blue)}.nav-contact{border:1px solid var(--ink);border-radius:30px;padding:8px 19px;color:var(--ink)}main{max-width:1400px;margin:auto}.hero{padding:65px 6% 0;display:grid;grid-template-columns:1fr 1.05fr;gap:10px 32px;align-items:center}.eyebrow{font-size:12px;font-weight:700;letter-spacing:2px;color:var(--blue);margin:0 0 20px}.profession{font-size:15px;letter-spacing:.2px;color:var(--muted);margin:0 0 27px}h1,h2,h3{font-family:'Manrope',sans-serif;line-height:1.13;margin:0;font-weight:700}h1{font-size:clamp(50px,5.7vw,80px);letter-spacing:-4px;font-weight:800}em{font-family:'Instrument Serif',serif;font-weight:400;font-style:italic;color:var(--blue);letter-spacing:-1.6px}h1 em{font-size:1.13em}.intro{color:var(--muted);max-width:430px;margin:26px 0 30px;font-size:17px;line-height:1.8}.actions{display:flex;gap:12px;flex-wrap:wrap}.button{background:var(--blue);color:white;font-weight:600;padding:12px 23px;border-radius:30px;font-size:14px;transition:transform .2s,box-shadow .2s}.button:hover{transform:translateY(-2px);box-shadow:0 8px 24px #294cf42b}.secondary{background:transparent;color:var(--ink);border:1px solid var(--line)}.hero-mini{display:flex;flex-wrap:wrap;gap:16px;margin-top:35px;color:var(--muted);font-size:12px}.hero-mini span{border-bottom:1px solid #bbc4e0;padding-bottom:5px}.hero-art{margin:0;position:relative;align-self:stretch;display:flex;flex-direction:column;justify-content:center}.hero-art img{width:100%;height:auto;aspect-ratio:1.16;object-fit:cover;object-position:center;border-radius:130px 130px 14px 14px}.hero-art figcaption{display:flex;justify-content:space-between;gap:12px;margin-top:14px;font-size:10px;letter-spacing:1px;color:var(--muted)}.hero-foot{grid-column:1/-1;display:flex;align-items:center;gap:30px;border-top:1px solid var(--line);padding:25px 0;margin-top:45px;color:var(--muted);font-size:14px}.hero-foot>span{margin-right:auto}.section{padding:90px 6%;border-top:1px solid var(--line)}.section h2{font-size:clamp(35px,4.3vw,58px);letter-spacing:-2.4px;line-height:1.12}.section h2 em{font-size:1.16em}.about{display:grid;grid-template-columns:1fr 1.2fr;gap:100px}.about-copy p:first-child{margin-top:0}.about-copy p{color:var(--muted);font-size:16px}.about-tags,.pill-row{display:flex;flex-wrap:wrap;gap:9px}.about-tags span,.pill-row span{background:var(--soft);padding:5px 11px;font-size:13px;border-radius:5px;color:#465b91}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:38px}.section-heading>p{margin:0;color:var(--muted);font-size:14px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:30px}.filters button{background:none;color:var(--muted);border:1px solid var(--line);padding:8px 15px;border-radius:24px;font-size:14px;cursor:pointer}.filters button.active{background:var(--ink);color:white;border-color:var(--ink)}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.project{padding:30px;background:var(--paper);border:1px solid var(--line);border-radius:16px;transition:transform .25s,box-shadow .25s;display:flex;flex-direction:column}.project:hover{transform:translateY(-4px);box-shadow:0 14px 35px #1a20340b}.project-top{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;gap:16px;margin-bottom:28px;text-transform:uppercase;letter-spacing:1px}.project-top>span:first-child{color:var(--blue);font-size:16px;font-weight:700}.project h3{font-size:28px;letter-spacing:-1px}.project p{color:var(--muted);margin:18px 0;font-size:16px}.project details{border-top:1px solid #d4dcec;padding-top:15px;margin-top:auto}.project summary{cursor:pointer;color:var(--blue);font-size:14px;font-weight:600}.tech{font-size:14px!important;color:var(--blue)!important}.text-link{display:inline-block;font-size:14px;text-decoration:underline;text-underline-offset:5px;color:var(--blue)}.muted{color:var(--muted);font-size:14px}.project.featured{grid-column:1/-1;display:grid;grid-template-columns:1.2fr 1fr;padding:0;overflow:hidden;background:#eef2ff}.project-image{padding:36px;display:flex;align-items:center;background:#dbe4ff;min-height:350px}.project-image img{display:block;width:100%;height:auto;max-height:380px;object-fit:contain;border-radius:9px;box-shadow:0 16px 35px #17214b2b}.project-body{padding:36px;display:flex;flex-direction:column}.project-body h3{font-size:36px;letter-spacing:-1.4px}.data-project{background:#fceaf2;border-color:#f1dbe6}.project-type{font-size:12px;letter-spacing:3px;color:#965578;margin-bottom:24px}.app-project{background:#eef1ff}.insight{display:grid;grid-template-columns:1fr 2fr;gap:12px 50px;padding:32px;margin-top:32px;border-radius:14px;background:var(--dark);color:white}.insight .eyebrow{grid-row:1/3;margin:0;color:#b8c6ff}.insight p{font:500 27px 'Manrope';margin:0}.insight>span:last-child{font-size:15px;color:#c4cde3}.skill-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin-top:40px;border-top:1px solid var(--line)}.skill{padding:34px 28px 34px 0;border-bottom:1px solid var(--line)}.skill:nth-child(even){padding-left:35px;border-left:1px solid var(--line)}.skill-no{font-size:12px;letter-spacing:2px;color:var(--blue)}.skill h3{font-size:27px;margin-top:18px}.skill p{color:var(--muted);font-size:16px}.skill.primary h3{color:var(--blue)}.journey-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:70px}.education{background:var(--blue);color:white;padding:35px;border-radius:16px;align-self:start}.education .eyebrow{color:#ced8ff}.education h3{font-size:31px;margin-top:20px}.education p{color:#dce3ff;font-size:15px}.education .degree{font-size:19px;color:white}.grade{display:inline-block;background:#ffffff1f;color:white;padding:8px 13px;font-size:13px;border-radius:5px}.timeline{border-left:1px solid #c3cdee;padding-left:30px}.timeline article{padding-bottom:32px}.timeline article:last-child{padding-bottom:0}.timeline article>span{color:var(--blue);font-size:12px;letter-spacing:1px}.timeline h3{font-size:24px;margin-top:10px}.timeline h4{margin:7px 0;color:var(--muted);font-size:15px;font-weight:400}.timeline p{font-size:16px;color:var(--muted)}.leadership{border-top:1px solid var(--line);margin-top:40px;padding-top:30px;display:grid;grid-template-columns:1fr 2fr;gap:30px}.leadership h3{font-size:26px}.leadership p{margin:0;color:var(--muted)}.cert-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 36px}.certificate{display:flex;align-items:center;gap:17px;padding:23px 0;border-bottom:1px solid var(--line)}.certificate:hover h3{color:var(--blue)}.cert-mark{font-size:24px;color:var(--blue)}.certificate h3{font-size:16px;line-height:1.4}.certificate p{font-size:14px;margin:4px 0;color:var(--muted)}.certificate small{font-size:12px;color:var(--blue)}.view{font-size:12px;color:var(--muted);margin-left:auto}.more-certificates{margin-top:25px;color:var(--muted)}.more-certificates summary{cursor:pointer;font-size:14px}.supplemental{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.supplemental a{font-size:14px;color:var(--blue);border-bottom:1px solid var(--line);padding:8px}.creative{display:grid;grid-template-columns:1fr 1.15fr;gap:75px;background:#f4eaf1}.creative>div>p:not(.eyebrow){color:var(--muted);max-width:380px}.creative .pill-row span{background:#fff8fc;color:#8c4e73}.writing{background:#fffafd;border:1px solid #e5cfdd;border-radius:12px;padding:35px}.award{font-size:12px;letter-spacing:1px;color:#965578}.award-context{font-size:14px;color:var(--muted)}.writing h3{font-family:'Noto Naskh Arabic',serif;font-size:37px;font-weight:600;margin:25px 0;color:#724468}.writing blockquote{font-family:'Noto Naskh Arabic',serif;font-size:27px;line-height:1.8;margin:20px 0;color:#493547}.writing>p{font-size:14px;color:var(--muted)}.signature{font-size:12px;color:#965578}.contact{text-align:center;background:var(--dark);color:white;border-radius:0 0 20px 20px}.contact .eyebrow{color:#bdc8ff}.contact h2{font-size:clamp(38px,5vw,66px)}.contact h2 em{color:#c6d0ff}.contact>p:not(.eyebrow){max-width:620px;margin:25px auto;color:#c3cde4}.email{font-size:clamp(18px,3vw,27px);display:inline-block;border-bottom:1px solid #b6c4ff;padding-bottom:8px;margin:15px 0 25px;overflow-wrap:anywhere}.contact-links{display:flex;justify-content:center;gap:30px;font-size:14px;color:#c3cde4}footer{max-width:1400px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 6%;font-size:12px;color:var(--muted)}.menu{display:none}.skip{position:absolute;left:20px;top:-80px;background:var(--blue);color:white;padding:8px;z-index:10}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}@media(max-width:1100px){nav{gap:14px;font-size:12px}.hero{gap:25px}.hero-art img{border-radius:100px 100px 12px 12px}.about,.journey-grid,.creative{gap:40px}.hero-mini{gap:12px}.hero-art figcaption{font-size:9px}}@media(max-width:780px){header{position:relative;padding:20px 6%}.menu{display:block;border:1px solid var(--line);padding:6px 16px;background:none;color:var(--ink);border-radius:20px;font-size:14px}nav{display:none;position:absolute;top:76px;left:5%;right:5%;padding:22px;background:white;border:1px solid var(--line);border-radius:12px;z-index:5;font-size:16px;box-shadow:0 15px 30px #1a203414}nav.open{display:flex;flex-direction:column;align-items:start;gap:15px}.hero{grid-template-columns:1fr;padding:35px 6% 0;gap:35px}h1{font-size:58px;letter-spacing:-3px}.profession{font-size:14px}.intro{font-size:16px}.hero-art img{aspect-ratio:1.5;border-radius:75px 75px 12px 12px}.hero-mini{margin-top:25px}.hero-art figcaption{font-size:9px;letter-spacing:.5px}.hero-foot{margin-top:5px;gap:20px;flex-wrap:wrap;font-size:12px}.hero-foot>span{flex-basis:100%}.section{padding:60px 6%}.section h2{letter-spacing:-1.7px;font-size:40px}.about,.journey-grid,.creative{grid-template-columns:1fr;gap:30px}.section-heading{display:block}.section-heading>p{margin-top:20px}.project-grid,.skill-grid,.cert-grid{grid-template-columns:1fr}.project{padding:26px}.project.featured{grid-template-columns:1fr}.project-image{padding:25px;min-height:0}.project-body{padding:27px}.project-body h3{font-size:29px}.skill:nth-child(even){padding-left:0;border-left:0}.skill{padding:28px 0}.insight{display:block;padding:26px}.insight p{margin:12px 0;font-size:23px}.leadership{grid-template-columns:1fr;gap:15px}.supplemental{grid-template-columns:1fr}.writing{padding:25px}footer{flex-wrap:wrap}.certificate{padding:20px 0}.contact{border-radius:0}.contact h2{font-size:44px}}@media(max-width:360px){h1{font-size:50px}.section h2{font-size:35px}.contact h2{font-size:38px}.hero-mini{gap:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;transform:none!important}}
/* Rama / portfolio studio */
:root{--bg:#f8faff;--ink:#131d38;--blue:#2547ef;--line:#d9e1f0;--muted:#53617a}
header{padding-top:22px;padding-bottom:22px}header .brand{font-size:32px}.hero{padding-top:38px;gap:24px 34px;position:relative}.hero h1{font-size:clamp(78px,9vw,132px);line-height:.94;letter-spacing:-6px;margin:8px 0 25px}.hero h1 em{font-size:1.04em}.hero .eyebrow{font-size:14px;letter-spacing:3px;margin:0}.hero .profession{font-size:17px;margin-bottom:14px;color:var(--ink)}.intro{margin:16px 0 26px;font-size:17px;max-width:460px}.hero-art{padding:18px 0 18px 16px}.hero-art img{border-radius:160px 24px 120px 24px;aspect-ratio:1.02;box-shadow:16px 18px 0 #e3e9ff;object-position:50% 50%}.hero-art figcaption{margin-top:34px;font-size:12px;letter-spacing:.5px}.hero-mini{font-size:14px;margin-top:25px}.hero-foot{margin-top:25px}.section h2{font-size:clamp(36px,4vw,54px)}.section{padding-top:75px;padding-bottom:75px}
#projects{background:#edf2ff;border-radius:32px}.project-grid{gap:32px}.project{border:0;border-radius:22px;box-shadow:0 8px 24px #18295808;padding:28px;overflow:hidden}.visual-project{position:relative}.project-preview{display:block;position:relative;cursor:pointer;width:calc(100% + 56px);margin:-28px -28px 25px;padding:20px;background:#dce7fa;border:0;min-height:245px;text-align:left;color:var(--ink);overflow:hidden}.project-preview img,.project-preview video{display:block;width:100%;height:260px;object-fit:contain;border-radius:10px;background:#fff;transition:transform .4s}.project-preview:hover img{transform:scale(1.025)}.preview-label{position:absolute;bottom:30px;right:30px;border-radius:20px;background:#101c39ed;color:white;padding:7px 13px;font:500 13px 'DM Sans',sans-serif}.project-top{margin-bottom:16px;font-size:12px}.project h3{font-size:29px}.project p{margin:14px 0}.project details{margin-top:15px}.project-links{display:flex;align-items:center;gap:18px;margin-top:22px;flex-wrap:wrap}.gallery-link,.demo-link{border:0;background:var(--blue);padding:10px 16px;color:white;font:600 14px 'DM Sans',sans-serif;border-radius:22px;cursor:pointer}.project-grid>.project:first-child{grid-column:1/-1;display:grid;grid-template-columns:1.25fr 1fr;column-gap:35px;align-content:center;padding:35px}.project-grid>.project:first-child .project-preview{grid-column:1;grid-row:1/6;margin:-35px 0 -35px -35px;width:calc(100% + 35px);height:calc(100% + 70px);display:flex;align-items:center;padding:28px;background:#dce7fa}.project-grid>.project:first-child .project-preview img{height:380px}.project-grid>.project:first-child>:not(.project-preview){grid-column:2}.dashboard-cover{background:#102e96;padding:30px;color:white;display:flex;flex-direction:column;justify-content:space-between;min-height:300px}.cover-kicker{font-size:12px;letter-spacing:2px}.dashboard-cover strong,.game-cover strong{font:800 46px/1.04 'Manrope',sans-serif;letter-spacing:-2px;margin:15px 0}.dashboard-cover i,.game-cover i{font-family:'Instrument Serif',serif;font-weight:400;color:#c5d6ff}.cover-bottom{font-size:14px}.game-cover{background:#c9f0c5;display:flex;flex-direction:column;justify-content:space-between;padding:30px;min-height:300px}.game-cover i{color:#254c38}.game-cover strong{font-size:61px}.insight{margin-top:38px}
#certificates{overflow:hidden}.cert-grid{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding:25px 4px 28px;scrollbar-color:var(--blue) #e0e7fa}.cert-card{flex:0 0 340px;display:flex;flex-direction:column;align-items:stretch;padding:0 0 22px;border:1px solid var(--line);border-radius:16px;background:white;overflow:hidden;scroll-snap-align:start;transition:transform .2s,box-shadow .2s;gap:16px}.cert-card:nth-child(3n+2){transform:translateY(12px)}.cert-card:hover{box-shadow:0 10px 30px #18295814}.cert-preview{height:235px;padding:18px;background:#e7edff;display:flex;align-items:center;justify-content:center}.cert-preview img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 6px 6px #18295818)}.cert-card>div:not(.cert-preview){padding:0 22px}.cert-card .view{margin:0 22px;color:var(--blue);font-size:14px}.cert-card h3{font-size:18px}.cert-card small{font-size:13px}.pdf-preview{background:#1838a2;color:white;display:flex;flex-direction:column;align-items:start;justify-content:space-between;padding:24px}.pdf-preview strong{font:600 29px/1.2 'Manrope',sans-serif}.pdf-preview span{font-size:13px}.more-certificates{margin-top:22px}.cert-grid:focus-visible{outline:3px solid var(--blue)}.cert-hint{font-size:14px;color:var(--muted)}
dialog{border:0;border-radius:18px;width:min(1120px,94vw);max-height:92vh;padding:20px;background:#f9fbff;color:var(--ink);box-shadow:0 30px 80px #0004}dialog::backdrop{background:#08132bc9;backdrop-filter:blur(6px)}.dialog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}.dialog-toolbar h3{font-size:20px}.dialog-toolbar button,.gallery-controls button{background:white;border:1px solid var(--line);border-radius:20px;padding:8px 18px;font-size:14px;cursor:pointer}#gallery-media{display:flex;align-items:center;justify-content:center;background:#e6edfa;border-radius:10px;min-height:180px}#gallery-media img,#gallery-media video{width:100%;max-height:69vh;object-fit:contain;display:block}.gallery-controls{display:flex;justify-content:center;align-items:center;gap:25px;margin-top:15px;font-size:14px}
@media(max-width:1100px){.hero h1{font-size:100px;letter-spacing:-5px}.hero-art img{border-radius:100px 20px 80px 20px}.hero-art figcaption{font-size:12px}.project-grid>.project:first-child{grid-template-columns:1fr 1fr}.project-preview img,.project-preview video{height:220px}}
@media(max-width:780px){.hero h1{font-size:clamp(74px,19vw,112px);letter-spacing:-4px}.hero .profession{font-size:16px}.hero-art{padding:0 15px 0 0}.hero-art img{aspect-ratio:1.45;border-radius:90px 20px 65px 20px;box-shadow:10px 12px 0 #e3e9ff}.hero-art figcaption{margin-top:24px;font-size:12px;flex-wrap:wrap}.hero-foot{margin-top:10px}.hero-mini{font-size:14px}#projects{border-radius:20px}.project-grid{grid-template-columns:1fr;gap:25px}.project-grid>.project:first-child{display:flex;padding:28px}.project-grid>.project:first-child .project-preview{width:calc(100% + 56px);height:auto;margin:-28px -28px 25px;padding:20px;display:block}.project-grid>.project:first-child .project-preview img{height:240px}.project-preview img,.project-preview video{height:240px}.cert-card{flex-basis:86vw;max-width:350px}.cert-preview{height:225px}.section{padding-top:55px;padding-bottom:55px}.dashboard-cover strong{font-size:42px}.dialog-toolbar h3{font-size:17px}.gallery-controls{gap:10px}dialog{padding:14px}}

/* The project studio and complete milestone archive */
#projects{background:#09182d;color:#eef5ff;border-radius:30px;padding-bottom:55px}#projects .eyebrow{color:#85bcff}#projects h2 em{color:#a9ceff}#projects .section-heading>p{color:#a4b5cd}.studio-filters,.certificate-filters{display:flex;flex-wrap:wrap;gap:9px;margin:25px 0}.studio-filter,.archive-filter{font:500 14px 'DM Sans',sans-serif;border:1px solid #344966;background:transparent;color:#b9cae0;padding:9px 15px;border-radius:22px;cursor:pointer}.studio-filter.selected{color:#0b1b31;background:#cde4ff;border-color:#cde4ff}.project-studio{display:grid;grid-template-columns:225px minmax(0,1fr);gap:30px;margin-top:35px}.project-directory{border-top:1px solid #30435d;display:flex;flex-direction:column;align-self:start}.project-choice{border:0;border-bottom:1px solid #30435d;background:transparent;text-align:left;color:#9fb1c9;font:500 16px/1.35 'DM Sans',sans-serif;display:flex;gap:12px;align-items:center;padding:19px 12px;cursor:pointer;border-radius:0;transition:background .2s,color .2s}.choice-number{font-size:12px;color:#7e92ad;flex:0 0 20px;font-variant-numeric:tabular-nums}.project-choice.selected{background:#203653;color:white;border-left:3px solid #8dc0ff;padding-left:9px}.project-choice:hover{color:white;background:#172c46}.project-stage{min-width:0;border:1px solid #385071;border-radius:18px;overflow:hidden;background:#132740}.stage-top{display:flex;justify-content:space-between;gap:16px;padding:15px 22px;color:#acbfd8;font-size:13px;border-bottom:1px solid #385071}.stage-top span:last-child{font-variant-numeric:tabular-nums}#stage-preview{display:flex;position:relative;border:0;padding:30px;background:#dbe5f4;width:100%;height:440px;align-items:center;justify-content:center;cursor:zoom-in;color:var(--ink)}#stage-preview:disabled{cursor:default}#stage-preview img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 10px 16px #0d1d3830);border-radius:4px}#stage-preview video{width:100%;height:100%;object-fit:contain}#stage-preview.portrait-stage{background:#ede4ee}#stage-preview.portrait-stage img{width:auto;max-width:100%;border-radius:16px}.expand-tag{position:absolute;bottom:17px;right:18px;background:#08182eee;color:#fff;padding:7px 12px;font:500 12px 'DM Sans',sans-serif;border-radius:20px}#stage-thumbnails{display:flex;gap:9px;padding:14px 22px;background:#132740;overflow-x:auto}.stage-thumb{background:#29405e;border:2px solid transparent;border-radius:6px;width:72px;height:48px;padding:3px;cursor:pointer;flex-shrink:0}.stage-thumb img{width:100%;height:100%;object-fit:contain}.stage-thumb.selected{border-color:#a6d1ff;background:#597da3}.stage-caption{padding:12px 24px 27px;display:grid;grid-template-columns:minmax(0,1fr) 165px;gap:20px}.stage-caption h3{font-size:28px;line-height:1.16;color:#f0f6ff;letter-spacing:-.7px}.stage-caption p{font-size:16px;color:#b8c8dd;line-height:1.6;margin:15px 0}#stage-tech{font-size:13px;line-height:1.6;color:#8fb5df;margin-bottom:0}#stage-actions{display:flex;align-items:stretch;justify-content:start;flex-direction:column;gap:10px}.studio-action{display:block;text-align:center;background:#223c5c;border:1px solid #405d81;border-radius:9px;padding:10px 12px;color:#e1efff;font:500 14px/1.4 'DM Sans',sans-serif;cursor:pointer}.studio-action.primary{background:#cde4ff;color:#102846;border-color:#cde4ff}.studio-repo{font-size:14px;color:#b4c9e3;text-decoration:underline;text-underline-offset:5px;text-align:center;margin:8px 0}.typographic-stage{width:100%;height:100%;background:#183a71;color:#d9e9ff;padding:35px;display:flex;flex-direction:column;justify-content:space-between;align-items:start;text-align:left;border-radius:6px}.typographic-stage>span{font:500 14px 'DM Sans',sans-serif;letter-spacing:1px}.typographic-stage strong{font:600 68px/1.04 'Instrument Serif',serif;letter-spacing:-1px}.typographic-stage.game-type{background:#233f30;color:#dbefbc}
#certificates{background:#f7f9fe}.archive-filter{border-color:#cbd6e8;color:#596a85}.archive-filter.selected{background:#162c4a;color:#fff;border-color:#162c4a}.cert-result-count{font-size:14px;color:#64768f;margin-bottom:28px}.certificate-wall{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px}.archive-certificate{min-width:0;display:flex;flex-direction:column;border:1px solid #d3deed;border-radius:12px;background:white;overflow:hidden;transition:transform .2s,box-shadow .2s;box-shadow:0 6px 0 #e0e7f4}.archive-certificate:hover{transform:translateY(-5px);box-shadow:0 12px 24px #15274716}.archive-photo{height:225px;display:flex;align-items:center;justify-content:center;padding:20px;background:#e7edf7}.archive-certificate:nth-child(3n+2) .archive-photo{background:#e6eff0}.archive-certificate:nth-child(3n+3) .archive-photo{background:#eee9f4}.archive-photo img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 4px 7px #16274725)}.archive-meta{padding:22px;display:flex;flex-direction:column;flex:1}.archive-category{font-size:12px;font-weight:600;color:#4e6b94;letter-spacing:.5px}.archive-meta h3{font-size:20px;line-height:1.3;margin:11px 0 8px;letter-spacing:-.3px}.archive-meta p{font-size:14px;color:#66768f;line-height:1.5;margin:0 0 8px}.archive-meta small{font-size:13px;color:#486f9d}.archive-open{display:block;margin-top:auto;padding-top:20px;font-size:14px;color:var(--blue)}#gallery-original{font-size:14px;color:var(--blue);text-decoration:underline;text-underline-offset:4px}.dialog-toolbar h3{margin-right:auto}.dialog-toolbar{flex-wrap:wrap}.archive-certificate:focus-visible,.project-choice:focus-visible,.stage-thumb:focus-visible,.studio-action:focus-visible{outline:3px solid #fba943;outline-offset:3px}
@media(max-width:1100px){.project-studio{grid-template-columns:185px minmax(0,1fr);gap:20px}.project-choice{font-size:14px}.stage-caption{grid-template-columns:1fr}.stage-caption h3{font-size:26px}#stage-actions{flex-direction:row;flex-wrap:wrap;align-items:center}.studio-repo{text-align:left}#stage-preview{height:360px;padding:20px}.certificate-wall{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){#projects{border-radius:20px}.project-studio{display:block;margin-top:22px}.project-directory{display:flex;flex-direction:row;gap:8px;overflow-x:auto;border:0;padding-bottom:16px}.project-choice{flex:0 0 170px;border:1px solid #3a4d68;border-radius:10px;padding:12px;align-items:start;font-size:14px;line-height:1.4}.project-choice.selected{border:1px solid #a3cfff;padding:12px}.project-choice .choice-number{flex-basis:15px}#stage-preview{height:310px;padding:16px}.stage-top{padding:13px 16px;font-size:12px}.stage-caption{padding:12px 18px 24px;gap:13px}.stage-caption h3{font-size:25px}.stage-caption p{font-size:16px}.stage-thumb{width:60px;height:42px}#stage-thumbnails{padding:12px 16px}.typographic-stage{padding:25px}.typographic-stage strong{font-size:58px}.typographic-stage>span{font-size:13px}.studio-filters{gap:8px}.studio-filter,.archive-filter{font-size:14px;padding:7px 12px}.certificate-wall{grid-template-columns:1fr;gap:25px}.archive-certificate{display:grid;grid-template-columns:1fr}.archive-photo{height:260px;padding:22px}.archive-meta{padding:22px}.archive-meta h3{font-size:22px}.dialog-toolbar h3{flex:1 1 60%;font-size:17px}#gallery-original{order:3}#gallery-media img{max-height:62vh}.expand-tag{font-size:12px;bottom:10px;right:10px}}


/* Horizontal certificate gallery */
.certificate-rail-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:20px 0 12px}.certificate-rail-toolbar .cert-result-count{margin:0}.certificate-arrows{display:flex;gap:8px}.certificate-arrows button{width:46px;height:46px;border:1px solid #cbd5ed;border-radius:50%;background:white;color:#21366c;font-size:23px;cursor:pointer;transition:background .2s}.certificate-arrows button:hover:not(:disabled){background:#2547ef;color:white}.certificate-arrows button:disabled{opacity:.3;cursor:default}
#certificate-rail{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:12px 3px 18px;overscroll-behavior-x:contain}#certificate-rail::-webkit-scrollbar{display:none}
.rail-certificate{flex:0 0 calc((100% - 44px)/3);min-width:0;border:1px solid #dce2ef;background:white;border-radius:18px;overflow:hidden;scroll-snap-align:start;display:flex;flex-direction:column;box-shadow:0 8px 20px #21336505}
.rail-card-top{display:flex;justify-content:space-between;gap:12px;padding:17px 20px;font-size:10px;letter-spacing:1px;color:#7181a1}.rail-card-top>span:first-child{color:#294cf4;font-weight:700}
.rail-cert-preview{height:215px;margin:0 14px;padding:12px;border:0;border-radius:8px;background:#f1f4fc;cursor:zoom-in;position:relative;display:block}
.rail-cert-preview img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 4px 6px #21336512);transition:transform .25s}.rail-cert-preview:hover img{transform:scale(1.03)}
.rail-cert-preview>span{position:absolute;bottom:9px;right:9px;background:#fff;color:#294cf4;border-radius:50%;width:30px;height:30px;display:grid;place-items:center}
.rail-cert-meta{padding:21px 20px;display:flex;flex-direction:column;flex:1}.rail-cert-meta h3{font-size:18px;line-height:1.35;letter-spacing:-.3px}.rail-cert-meta p{font-size:12px;color:#697793;line-height:1.6;margin:10px 0}.rail-cert-meta small{font-size:11px;color:#7685a0}.rail-cert-meta a{margin-top:auto;padding-top:17px;font-size:11px;color:#294cf4}
.certificate-rail-footer{display:flex;justify-content:space-between;gap:12px;color:#73809b;font-size:11px;margin-top:2px}#cert-position{font-variant-numeric:tabular-nums;letter-spacing:2px}
/* A composed education and experience section */
#journey{background:linear-gradient(160deg,#f1f4ff 0%,#fcfcff 80%)}#journey .section-heading{margin-bottom:32px}
.journey-grid{display:flex;flex-direction:column;gap:26px}.education{background:#fff;color:#172440;border:1px solid #dce3f4;border-radius:18px;padding:26px 30px;display:grid;grid-template-columns:1.05fr 1.3fr;column-gap:30px;position:relative;overflow:hidden;box-shadow:0 10px 30px #18295804}.education:before{content:'';position:absolute;left:0;top:0;bottom:0;width:5px;background:#294cf4}.education .eyebrow{color:#294cf4;grid-column:1;font-size:10px;margin:0 0 9px}.education h3{grid-column:1;grid-row:2/4;font-size:25px;margin:0;align-self:center;letter-spacing:-.6px}.education .degree{grid-column:2;grid-row:1/3;color:#172440;font-size:17px;font-weight:600;margin:0 0 5px;align-self:center}.education p:not(.degree){grid-column:2;font-size:12px;color:#75819b;margin:0}.education .grade{grid-column:2;background:transparent;color:#294cf4;font-size:11px;padding:0;margin-top:8px}
.timeline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:0;border:0;counter-reset:experience}.timeline article{padding:25px 26px 24px!important;background:white;border:1px solid #dce3f4;border-radius:18px;position:relative;counter-increment:experience;overflow:hidden}.timeline article:after{content:'0' counter(experience);position:absolute;top:20px;right:24px;font-size:30px;font-family:'Instrument Serif',serif;color:#c8d2ea;line-height:1}.timeline article>span{display:block;max-width:85%;font-size:10px;letter-spacing:1.2px;margin-bottom:18px}.timeline h3{font-size:22px;letter-spacing:-.5px;max-width:95%;margin:0}.timeline h4{font-size:12px;margin:8px 0 0}.timeline p{font-size:13px;line-height:1.8;margin:14px 0 0}.timeline .text-link{font-size:11px;margin-top:13px}.timeline article:first-child{background:#14264c;border-color:#14264c;color:white}.timeline article:first-child>span{color:#9cbeff}.timeline article:first-child h4,.timeline article:first-child p{color:#bfcee7}.timeline article:first-child .text-link{color:#b4cdff}.timeline article:first-child:after{color:#59749e}
.leadership{margin-top:22px;padding:22px 26px;background:#e9eefb;border:0;border-radius:14px;gap:22px;grid-template-columns:1fr 2fr;align-items:center}.leadership h3{font-size:20px}.leadership p{font-size:12px;line-height:1.8}
@media(max-width:900px){.rail-certificate{flex-basis:calc((100% - 22px)/2)}}
@media(max-width:600px){.rail-certificate{flex-basis:88%}.rail-cert-preview{height:200px}.rail-cert-meta h3{font-size:17px}.certificate-arrows button{height:40px;width:40px}.education{grid-template-columns:1fr;padding:24px}.education .eyebrow,.education h3,.education .degree,.education p:not(.degree),.education .grade{grid-column:1;grid-row:auto}.education h3{font-size:24px;margin:6px 0 15px}.education .degree{font-size:15px}.timeline{grid-template-columns:1fr;gap:13px}.timeline article{padding:23px!important}.timeline h3{font-size:20px}.leadership{grid-template-columns:1fr;padding:21px;gap:10px}.certificate-rail-footer{font-size:10px}}

#journey .education{width:100%;align-self:stretch}

/* Contact and theme */
:root{color-scheme:light}
header{gap:18px}.header-controls{display:flex;align-items:center;gap:10px}.theme-toggle{display:grid;place-items:center;width:42px;height:42px;padding:10px;border-radius:50%;border:1px solid var(--line);color:var(--ink);background:transparent;cursor:pointer;flex-shrink:0}.theme-toggle:hover{background:var(--soft)}.theme-toggle svg{width:21px;height:21px}.theme-sun{display:none}
.contact-methods{display:flex;justify-content:center;gap:16px;max-width:770px;margin:32px auto;flex-wrap:wrap}
.contact-method{display:flex;align-items:center;gap:16px;text-align:left;border:1px solid #405177;border-radius:16px;background:#1b2947;padding:20px 24px;transition:border-color .2s,transform .2s;flex:1;min-width:280px}
.contact-method:hover{border-color:#afc6ff;transform:translateY(-3px)}.contact-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#2e426b;color:#c0d2ff;flex-shrink:0}.contact-icon svg{width:21px;height:21px}.contact-icon.mail{font-size:22px}.contact-method small{display:block;font-size:10px;letter-spacing:1.7px;text-transform:uppercase;color:#becde7;margin-bottom:5px}.contact-method strong{display:block;color:#f3f6ff;font-weight:500;font-size:17px;line-height:1.4;overflow-wrap:anywhere}.contact-method>span:nth-child(2){min-width:0}.contact-arrow{margin-left:auto;color:#b2c8ee}
.rail-cert-meta p{font-size:13px}.rail-cert-meta small,.rail-cert-meta a{font-size:12px}.rail-card-top{font-size:11px}.education p:not(.degree),.education .grade{font-size:13px}.timeline h4{font-size:14px}.timeline p,.leadership p{font-size:14px}.timeline .text-link{font-size:13px}.hero-art figcaption{font-size:10px;letter-spacing:.7px}
[data-theme="dark"]{color-scheme:dark;--bg:#0b1220;--paper:#141e31;--ink:#ecf1fb;--muted:#afbdd3;--blue:#9db5ff;--line:#2b3951;--soft:#1c2c48}
[data-theme="dark"] .theme-moon{display:none}[data-theme="dark"] .theme-sun{display:block}
[data-theme="dark"] .button:not(.secondary){background:#aac0ff;color:#101b34}
[data-theme="dark"] .hero-art img{box-shadow:16px 18px 0 #1d2c48}
[data-theme="dark"] .about-tags span,[data-theme="dark"] .pill-row span{background:#1c2c48;color:#bdceee}
[data-theme="dark"] #journey{background:linear-gradient(150deg,#101c32,#0b1220)}
[data-theme="dark"] .education,[data-theme="dark"] .timeline article{background:#141e31;border-color:#2b3951;color:#ecf1fb}
[data-theme="dark"] .education .degree{color:#ecf1fb}
[data-theme="dark"] .education p:not(.degree),[data-theme="dark"] .timeline h4,[data-theme="dark"] .timeline p{color:#afbdd3}
[data-theme="dark"] .education .eyebrow,[data-theme="dark"] .education .grade,[data-theme="dark"] .timeline article>span{color:#9db5ff}
[data-theme="dark"] .education:before{background:#9db5ff}
[data-theme="dark"] .timeline article:after{color:#7187ac}
[data-theme="dark"] .timeline article:first-child{background:#1b3054;border-color:#3c5780}
[data-theme="dark"] .leadership{background:#18263e}
[data-theme="dark"] #certificates{background:#0e1728}
[data-theme="dark"] .archive-filter{border-color:#354766;color:#b8c8df}
[data-theme="dark"] .archive-filter.selected{background:#adc5ff;color:#10213d;border-color:#adc5ff}
[data-theme="dark"] .rail-certificate{background:#141e31;border-color:#2b3951}
[data-theme="dark"] .rail-card-top,[data-theme="dark"] .rail-cert-meta p,[data-theme="dark"] .rail-cert-meta small,[data-theme="dark"] .cert-result-count,[data-theme="dark"] .certificate-rail-footer{color:#afbdd3}
[data-theme="dark"] .rail-card-top>span:first-child,[data-theme="dark"] .rail-cert-meta a{color:#adc5ff}
[data-theme="dark"] .rail-cert-preview{background:#202c43}
[data-theme="dark"] .rail-cert-preview>span{background:#324666;color:#c5d6ff}
[data-theme="dark"] .certificate-arrows button{background:#18263e;border-color:#405471;color:#c5d6ff}
[data-theme="dark"] .certificate-arrows button:hover:not(:disabled){background:#304977}
[data-theme="dark"] .creative{background:#221d2c}
[data-theme="dark"] .writing{background:#2d2538;border-color:#544259}
[data-theme="dark"] .award,[data-theme="dark"] .signature{color:#e7b5d0}
[data-theme="dark"] .writing h3{color:#edc5df}
[data-theme="dark"] .writing blockquote{color:#ecdde9}
[data-theme="dark"] .creative .pill-row span{background:#3a2e44;color:#edc5df}
[data-theme="dark"] .contact{background:#101c32;border-color:#2b3951}
[data-theme="dark"] dialog{background:#121e31}
[data-theme="dark"] .dialog-toolbar button,[data-theme="dark"] .gallery-controls button{background:#21304a;color:#e7efff}
[data-theme="dark"] #gallery-media{background:#25324a}
@media(max-width:1100px){nav{gap:12px}.nav-contact{padding:7px 12px}}
@media(max-width:780px){header>.header-controls{margin-left:auto}.header-controls .menu{display:block}.theme-toggle{width:40px;height:40px}.contact-methods{flex-direction:column;margin:26px 0}.contact-method{min-width:0;padding:18px}.contact-method strong{font-size:16px}[data-theme="dark"] nav{background:#141e31}[data-theme="dark"] .hero-art img{box-shadow:10px 12px 0 #1d2c48}}

/* Editorial polish */
header{position:sticky;top:0;z-index:40;background:rgba(248,250,255,.92);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--line);padding-top:15px;padding-bottom:15px}
#reading-progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;pointer-events:none}
nav a{position:relative;transition:color .2s}nav a.current{color:var(--blue)}nav a.current:not(.nav-contact):after{content:'';position:absolute;width:4px;height:4px;border-radius:50%;background:var(--blue);bottom:-7px;left:50%}
.hero{background:radial-gradient(ellipse at 76% 24%,#eaf0ff80,transparent 65%)}.about{gap:70px}.about-copy{max-width:620px}.about-copy p{line-height:1.85}.hero-art img{box-shadow:12px 14px 0 #e3e9ff}
.skill-grid{gap:18px;border:0}.skill,.skill:nth-child(even){padding:30px;border:1px solid var(--line);border-radius:18px;background:#fff;position:relative;overflow:hidden;transition:border-color .2s,box-shadow .2s,transform .2s}
.skill:hover{border-color:#a9b9e9;box-shadow:0 12px 28px #1a2b5609;transform:translateY(-3px)}
.skill.primary{background:linear-gradient(135deg,#edf2ff,#fff)}.skill:nth-child(2){background:linear-gradient(135deg,#f5f1ff,#fff)}.skill:nth-child(3){background:linear-gradient(135deg,#eff7f8,#fff)}.skill:nth-child(4){background:linear-gradient(135deg,#fff0f6,#fff)}
.skill h3{font-size:25px;max-width:90%;letter-spacing:-.6px}.skill p{font-size:15px;line-height:1.8}.skill-no{font-size:10px;letter-spacing:1.5px}.skill-symbol{position:absolute;top:22px;right:23px;background:#fff9;color:#4466b0;width:43px;height:43px;display:grid;place-items:center;border:1px solid #dce4f2;border-radius:12px}.skill-symbol svg{width:23px;height:23px}.skill .pill-row{margin-top:22px}.skill .pill-row span{background:#fff;border:1px solid #dee5f2;font-size:12px;border-radius:20px;padding:5px 12px}
.stage-navigation{display:flex;align-items:center;gap:10px}.stage-navigation button{width:32px;height:32px;display:grid;place-items:center;border:1px solid #557292;border-radius:50%;background:transparent;color:#d5e8ff;font-size:17px;cursor:pointer}.stage-navigation button:hover{background:#315074}
.stage-top{align-items:center}#stage-number{font-size:11px;letter-spacing:1px}
#stage-preview{background:linear-gradient(145deg,#dbe5f4,#edf2fa);padding:20px}
#stage-thumbnails:empty{display:none}.project-stage{box-shadow:0 20px 60px #0002}.studio-action:hover{background:#355375}.studio-action.primary:hover{background:#e5f1ff}.stage-caption{padding-top:22px}
.rail-certificate{transition:border-color .2s,box-shadow .2s}.rail-certificate:hover{border-color:#a8bae5;box-shadow:0 10px 24px #2133650c}
.rail-card-top{color:#536684}.rail-cert-meta p{color:#536684}.rail-cert-meta small{color:#5f708d}.certificate-rail-footer{color:#586b8a}.education p:not(.degree){color:#596c8c}
.contact{position:relative;background:radial-gradient(ellipse at 50% 0%,#223a65,#111b39 80%)}
[data-theme="dark"] header{background:rgba(11,18,32,.93)}
[data-theme="dark"] .hero{background:radial-gradient(ellipse at 76% 24%,#14274b66,transparent 65%)}
[data-theme="dark"] .skill,[data-theme="dark"] .skill:nth-child(even){background:#141e31;border-color:#2b3951}
[data-theme="dark"] .skill.primary{background:linear-gradient(135deg,#1b2b4b,#141e31)}
[data-theme="dark"] .skill:nth-child(2){background:linear-gradient(135deg,#27243c,#141e31)}
[data-theme="dark"] .skill:nth-child(3){background:linear-gradient(135deg,#182f36,#141e31)}
[data-theme="dark"] .skill:nth-child(4){background:linear-gradient(135deg,#32243a,#141e31)}
[data-theme="dark"] .skill-symbol{background:#1c2c48;color:#b6caff;border-color:#40516e}
[data-theme="dark"] .skill .pill-row span{background:#18263e;border-color:#3a4b67;color:#c3d2ec}
[data-theme="dark"] .skill:hover{border-color:#6178a4}
[data-theme="dark"] #stage-preview{background:linear-gradient(145deg,#26354c,#1d2b42)}
[data-theme="dark"] .contact{background:radial-gradient(ellipse at 50% 0%,#203353,#101c32 80%)}
@media(max-width:1100px){.about{gap:40px}}
@media(max-width:780px){header{padding-top:12px;padding-bottom:12px}nav{top:72px;box-shadow:0 20px 40px #0b163826}nav a.current:not(.nav-contact):after{left:-11px;bottom:50%}.skill,.skill:nth-child(even){padding:25px}.skill h3{font-size:23px}.skill-symbol{top:18px;right:18px;width:36px;height:36px}.skill-symbol svg{width:20px;height:20px}.skill p{font-size:15px}.skill-grid{gap:14px}.about{gap:25px}#stage-preview{height:280px;padding:12px}.stage-caption{padding-top:18px}.stage-navigation{gap:8px}.stage-top{padding:12px}.stage-navigation button{width:34px;height:34px}.hero-art img{box-shadow:10px 12px 0 #e3e9ff}}
