:root{--ink:#171717;--paper:#f2efe9;--muted:#77746e;--lime:#c7f36b;--line:#d4d0c8;--orange:#ff744d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;overflow-x:hidden}.grain{position:fixed;inset:0;opacity:.035;pointer-events:none;z-index:10;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid var(--line);position:relative;z-index:2}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;font-weight:700}.brand span{display:grid;place-items:center;width:34px;height:34px;background:var(--ink);color:var(--lime);font:500 12px 'DM Mono';border-radius:50%}.brand em{font-style:normal;font-size:13px}.nav{display:flex;gap:36px;margin-left:15%}.nav a,.header-cta,footer a{color:var(--ink);text-decoration:none;font-size:12px}.nav a:hover,footer a:hover{color:#777}.header-cta{font-weight:700;border-bottom:1px solid var(--ink);padding-bottom:5px}.header-cta span,.button span{margin-left:18px}.menu-toggle{display:none;border:0;background:none;font-size:24px}.section-wrap{max-width:1280px;margin:auto;padding-left:5vw;padding-right:5vw}.hero{min-height:690px;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding-top:65px;padding-bottom:85px}.eyebrow,.kicker,.project-type,.section-label,.skill-groups p,.muted,small{font:500 10px 'DM Mono';letter-spacing:.12em;text-transform:uppercase}.eyebrow{display:flex;align-items:center;gap:10px}.pulse{width:7px;height:7px;background:#82b527;border-radius:50%;box-shadow:0 0 0 4px #dceab9}.hero h1{font-size:clamp(58px,8vw,112px);line-height:.96;letter-spacing:-.08em;margin:26px 0 28px;font-weight:700}.hero h1 i,.section-heading i,.contact h2 i,h2 i{font-family:Georgia,serif;font-weight:400;color:#777;letter-spacing:-.06em}.hero-text{max-width:470px;line-height:1.8;color:#68655f;font-size:14px}.hero-actions{display:flex;gap:12px;margin:38px 0}.button{padding:16px 21px;text-decoration:none;font-size:12px;font-weight:700}.button-primary{background:var(--ink);color:var(--paper)}.button-quiet{color:var(--ink);border:1px solid var(--line)}.button:hover{transform:translateY(-3px)}.socials{display:flex;gap:25px}.socials a{color:var(--ink);font:500 10px 'DM Mono';text-transform:uppercase;text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:5px}.hero-visual{height:530px;position:relative;display:grid;place-items:center}.portrait-frame{width:min(390px,70%);height:480px;overflow:hidden;position:relative;background:#dfddd7;transform:rotate(3deg);box-shadow:28px 28px 0 var(--lime)}.portrait-frame img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);mix-blend-mode:multiply}.portrait-tag{position:absolute;bottom:15px;left:15px;background:var(--paper);padding:7px;font:500 10px 'DM Mono'}.vertical-note{position:absolute;right:0;top:25%;writing-mode:vertical-rl;font:500 9px 'DM Mono';letter-spacing:.15em;color:var(--muted)}.stat-card{position:absolute;bottom:40px;left:2%;background:var(--ink);color:var(--paper);padding:17px 20px;display:flex;align-items:end;gap:12px}.stat-card strong{color:var(--lime);font-size:25px}.stat-card span{font:10px 'DM Mono';line-height:1.4}.orb{position:absolute;border-radius:50%;filter:blur(1px)}.orb-one{width:180px;height:180px;background:var(--orange);top:7%;right:8%}.orb-two{width:45px;height:45px;background:var(--lime);bottom:16%;right:3%}.ticker{background:var(--lime);overflow:hidden;padding:16px 0;white-space:nowrap;font:500 11px 'DM Mono';letter-spacing:.1em}.ticker div{animation:scroll 28s linear infinite}.ticker b{padding:0 22px;font-size:14px}.section{padding-top:130px;padding-bottom:130px}.section-label{color:var(--muted);padding-bottom:20px;border-bottom:1px solid var(--line)}.about-grid,.skills-grid,.credential-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:14%;padding-top:60px}.about-title h2,.skills-grid h2,.credential-grid h2{font-size:clamp(36px,5vw,68px);line-height:1.03;letter-spacing:-.07em;margin:0}.about-body{max-width:530px}.about-body>p{line-height:1.9;color:#68655f;font-size:14px}.about-values{display:flex;gap:50px;border-top:1px solid var(--line);margin-top:38px;padding-top:20px}.about-values div{display:flex;gap:12px}.about-values b{font:10px 'DM Mono';color:#999}.about-values span{font-size:12px;font-weight:700}.timeline-card{margin-top:52px;display:grid;grid-template-columns:1fr 3fr 1fr;gap:30px;border-top:1px solid var(--ink);padding:28px 0}.timeline-date{font:11px 'DM Mono'}.timeline-card h3{margin:0 0 10px;font-size:21px}.timeline-card p{max-width:540px;color:var(--muted);font-size:13px;line-height:1.7}.grade{font-size:30px;text-align:right}.grade span{font-size:13px;color:var(--muted)}.grade small{display:block;margin-top:5px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:55px}.section-heading h2{font-size:clamp(38px,5vw,68px);line-height:.98;letter-spacing:-.07em;margin:0}.section-heading>p{color:var(--muted);font-size:13px;max-width:200px;line-height:1.6}.project-list{display:grid;gap:10px}.project-card{display:grid;grid-template-columns:120px 1fr 160px;min-height:245px;border-top:1px solid var(--line);padding:26px 0;transition:.3s}.project-card:hover{padding-left:15px;background:rgba(255,255,255,.18)}.featured{background:var(--ink);color:var(--paper);padding:32px 25px;border:0}.featured:hover{padding-left:40px}.project-index{font:10px 'DM Mono';color:#999}.project-type{color:#999;margin:0 0 20px}.project-card h3{font-size:36px;line-height:1.04;letter-spacing:-.06em;margin:0 0 16px}.project-card>div:nth-child(2)>p:not(.project-type){color:#a8a5a0;line-height:1.7;font-size:13px;max-width:460px}.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:21px}.tags span{font:10px 'DM Mono';border:1px solid #3d3d3d;padding:7px 9px}.project-card:not(.featured) .tags span{border-color:var(--line)}.project-result{display:flex;flex-direction:column;align-items:end;justify-content:space-between}.project-result strong{font-size:31px;color:var(--lime)}.project-result span{font:10px 'DM Mono';color:#999;text-align:right}.project-result a,.arrow-link{color:inherit;font:10px 'DM Mono';text-decoration:none}.arrow-link{text-align:right;font-size:25px}.skills-section{background:#e8e5dd;max-width:none;padding-left:calc((100% - 1180px)/2);padding-right:calc((100% - 1180px)/2)}.skill-groups>div{border-top:1px solid var(--line);padding:20px 0;display:flex;flex-wrap:wrap;gap:8px}.skill-groups p{width:100%;margin:0 0 5px;color:var(--muted)}.skill-groups span{font-size:12px;background:var(--paper);padding:8px 11px}.credentials{background:var(--ink);color:var(--paper);max-width:none;padding-left:calc((100% - 1180px)/2);padding-right:calc((100% - 1180px)/2)}.credentials .section-label{color:#888;border-color:#333}.cert-list>div{display:grid;grid-template-columns:40px 1fr;align-items:center;border-bottom:1px solid #333;padding:17px 0}.cert-list span{font:10px 'DM Mono';color:var(--lime)}.cert-list p{margin:0;font-size:15px}.cert-list small{grid-column:2;color:#777;margin-top:6px}.contact{max-width:none;text-align:center;background:var(--lime);padding-top:150px;padding-bottom:120px}.contact h2{font-size:clamp(55px,9vw,120px);letter-spacing:-.09em;line-height:.9;margin:35px 0 45px}.email-link{font-size:clamp(17px,3vw,28px);color:var(--ink);text-decoration:none;border-bottom:2px solid var(--ink);padding-bottom:8px}.email-link span{margin-left:20px}.contact-meta{max-width:500px;margin:100px auto 0;display:flex;justify-content:space-between;font:10px 'DM Mono'}.contact-meta span{opacity:.7}footer{padding:28px 5vw;background:var(--paper);display:flex;justify-content:space-between}footer div{display:flex;gap:25px}.reveal{opacity:0;transform:translateY(25px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}@keyframes scroll{to{transform:translateX(-50%)}}@media(max-width:760px){.site-header{height:72px}.nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--paper);padding:25px 5vw;flex-direction:column;gap:20px;border-bottom:1px solid var(--line);margin:0}.nav.open{display:flex}.header-cta{display:none}.menu-toggle{display:block}.hero{grid-template-columns:1fr;padding-top:75px}.hero-visual{height:430px;margin-top:40px}.portrait-frame{height:390px}.hero h1{font-size:17vw}.section{padding-top:85px;padding-bottom:85px}.about-grid,.skills-grid,.credential-grid{grid-template-columns:1fr;gap:45px;padding-top:35px}.timeline-card{grid-template-columns:1fr;gap:13px}.grade{text-align:left}.section-heading{display:block}.section-heading>p{margin-top:25px}.project-card{grid-template-columns:45px 1fr;min-height:auto;padding:22px 0}.project-card .project-result,.arrow-link{grid-column:2;align-items:start;margin-top:25px}.project-card h3{font-size:29px}.featured{padding:24px 15px}.featured:hover{padding-left:20px}.skills-section,.credentials{padding-left:5vw;padding-right:5vw}.contact-meta{margin-top:70px;gap:12px;flex-direction:column}.about-values{gap:20px}.vertical-note{display:none}footer{gap:20px;flex-direction:column}footer div{gap:15px}}

/* Advanced interaction layer */
:root{
  --panel: rgba(242,239,233,.72);
  --panel-dark: rgba(23,23,23,.88);
  --shadow: 0 18px 60px rgba(0,0,0,.12);
}
body.dark{
  --paper:#101114;
  --ink:#f5f2ea;
  --muted:#b8b3aa;
  --line:#2a2d33;
  --panel: rgba(16,17,20,.72);
  background: radial-gradient(circle at top, #161922 0%, #101114 56%);
}
body.dark .skills-section{background:#151821}
body.dark .credentials{background:#0d0f13}
body.dark .contact{background:#b9da41}

.scroll-progress{position:fixed;left:0;top:0;height:4px;width:0;background:linear-gradient(90deg,var(--lime),var(--orange),#8eb8ff);z-index:30;box-shadow:0 0 14px rgba(199,243,107,.55)}
.cursor-dot,.cursor-ring{position:fixed;top:0;left:0;pointer-events:none;z-index:40;border-radius:50%;transform:translate(-50%,-50%);opacity:0;transition:opacity .25s ease,transform .18s ease}
.cursor-dot{width:8px;height:8px;background:var(--ink)}
.cursor-ring{width:34px;height:34px;border:1px solid rgba(23,23,23,.3)}
body:hover .cursor-dot,body:hover .cursor-ring{opacity:1}
.theme-toggle{border:1px solid var(--line);background:var(--panel);backdrop-filter:blur(14px);width:40px;height:40px;border-radius:999px;margin-left:12px;cursor:pointer;transition:transform .3s ease,background .3s ease}.theme-toggle:hover{transform:rotate(180deg) scale(1.08);background:var(--lime)}
.resume-link{display:inline-flex;align-items:center;gap:10px;padding:16px 21px;border:1px solid var(--line);text-decoration:none;color:var(--ink);font-size:12px;font-weight:700;transition:background .3s ease,color .3s ease,transform .3s ease}.resume-link:hover{background:var(--ink);color:var(--paper);transform:translateY(-3px)}
.project-filters{display:flex;gap:10px;flex-wrap:wrap;margin:-8px 0 30px}
.project-filters button{border:1px solid var(--line);background:transparent;color:var(--ink);padding:10px 14px;font:500 10px 'DM Mono';letter-spacing:.1em;text-transform:uppercase}
.project-filters button.active{background:var(--ink);color:var(--paper)}
.project-card.is-hidden{display:none}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.42);backdrop-filter:blur(10px);display:none;align-items:center;justify-content:center;padding:24px;z-index:60}
.modal.open{display:flex}
.modal-card{width:min(760px,100%);background:var(--paper);color:var(--ink);padding:28px;border:1px solid var(--line);box-shadow:var(--shadow);position:relative}
.modal-close{position:absolute;right:18px;top:14px;border:0;background:none;font-size:34px;color:var(--muted)}
.modal-card h2{font-size:clamp(30px,5vw,54px);line-height:1;letter-spacing:-.07em;margin:8px 0 15px}
.modal-description{color:var(--muted);line-height:1.8}
.modal-stack{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0 26px}
.modal-stack span{font:10px 'DM Mono';border:1px solid var(--line);padding:8px 10px}
.modal-card .button{display:inline-flex}
.form-status{min-height:20px;margin:0;color:var(--muted);font:500 12px 'DM Mono';line-height:1.5}.form-status.success{color:#16866f}.form-status.error{color:#d95d5d}.form-submit:disabled{cursor:wait;opacity:.65}
.nav a.active{font-weight:800}

/* Motion and responsive polish */
body{transition:background .45s ease,color .45s ease}.site-header{backdrop-filter:blur(16px);background:color-mix(in srgb,var(--paper) 76%,transparent);position:sticky;top:0}.brand span{transition:transform .35s ease,box-shadow .35s ease}.brand:hover span{transform:rotate(-12deg) scale(1.08);box-shadow:0 0 0 7px rgba(199,243,107,.18)}
.hero{position:relative;isolation:isolate}.hero-copy{animation:heroIn .9s cubic-bezier(.2,.75,.25,1) both}.hero-visual{animation:heroVisual 1.1s .15s cubic-bezier(.2,.75,.25,1) both}.hero-visual:after{content:"";position:absolute;width:120px;height:120px;border:1px solid var(--line);border-radius:50%;right:12%;bottom:12%;animation:spin 18s linear infinite;z-index:-1}.portrait-frame{transition:transform .7s cubic-bezier(.2,.75,.25,1),box-shadow .7s ease}.portrait-frame:hover{transform:rotate(0) scale(1.025);box-shadow:18px 18px 0 var(--lime)}.portrait-frame img{transition:filter .6s ease,transform .8s ease}.portrait-frame:hover img{filter:grayscale(.15);transform:scale(1.04)}
.orb-one{animation:floatOrb 8s ease-in-out infinite}.orb-two{animation:floatOrb 5s 1s ease-in-out infinite reverse}.stat-card{animation:floatCard 5s 1s ease-in-out infinite}
.ticker div{will-change:transform}.button,.socials a,.project-filters button{transition:transform .25s ease,background .25s ease,color .25s ease,border-color .25s ease}.socials a:hover{transform:translateY(-3px);border-color:var(--ink)}
.section-label:after{content:"";display:block;width:0;height:2px;background:var(--lime);margin-top:20px;transition:width .7s ease}.section-label:hover:after{width:70px}.about-values div{transition:transform .3s ease}.about-values div:hover{transform:translateY(-6px)}
.timeline-card{transition:transform .4s ease,background .4s ease;padding-left:0;padding-right:0}.timeline-card:hover{transform:translateX(8px);background:linear-gradient(90deg,rgba(199,243,107,.12),transparent);padding-left:18px}
.project-card{position:relative;overflow:hidden}.project-card:before{content:"";position:absolute;left:0;top:0;width:3px;height:0;background:var(--lime);transition:height .45s ease}.project-card:hover:before{height:100%}.project-card h3{transition:transform .35s ease,color .35s ease}.project-card:hover h3{transform:translateX(5px)}.tags span{transition:background .25s ease,color .25s ease,transform .25s ease}.tags span:hover{background:var(--lime);color:var(--ink);transform:translateY(-3px)}
.skill-groups>div{transition:transform .35s ease,border-color .35s ease}.skill-groups>div:hover{transform:translateX(8px);border-color:var(--lime)}.skill-groups span{transition:transform .25s ease,box-shadow .25s ease}.skill-groups span:hover{transform:translateY(-4px);box-shadow:0 8px 18px rgba(0,0,0,.08)}
.cert-list>div{transition:padding-left .35s ease,background .35s ease}.cert-list>div:hover{padding-left:12px;background:rgba(199,243,107,.07)}.email-link{transition:letter-spacing .35s ease}.email-link:hover{letter-spacing:.02em}
.modal-card{animation:modalIn .35s cubic-bezier(.2,.75,.25,1)}@keyframes heroIn{from{opacity:0;transform:translateY(35px)}to{opacity:1;transform:none}}@keyframes heroVisual{from{opacity:0;transform:translateX(35px) scale(.96)}to{opacity:1;transform:none}}@keyframes floatOrb{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(12px,-18px,0)}}@keyframes floatCard{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes modalIn{from{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:none}}
@media(min-width:761px) and (max-width:1050px){.site-header{padding-left:4vw;padding-right:4vw}.nav{gap:20px;margin-left:4%}.hero{gap:35px}.hero h1{font-size:clamp(56px,8vw,84px)}.portrait-frame{width:min(340px,90%)}.about-grid,.skills-grid,.credential-grid{gap:8%}.project-card{grid-template-columns:80px 1fr 120px}.project-card h3{font-size:30px}}
@media(max-width:760px){.site-header{z-index:20}.theme-toggle{margin-left:auto;margin-right:12px}.hero{min-height:auto;overflow:hidden}.hero-actions{flex-wrap:wrap}.button,.resume-link{padding:14px 15px}.hero-text{font-size:13px}.hero-visual{margin-top:75px}.portrait-frame{width:72%;box-shadow:18px 18px 0 var(--lime)}.stat-card{bottom:12px;left:0}.orb-one{right:0}.project-filters{margin-bottom:22px}.project-filters button{flex:1;min-width:calc(50% - 10px)}.project-card:hover{padding-left:5px}.timeline-card:hover{transform:none;padding-left:10px}.contact h2{font-size:16vw}.modal-card{padding:24px 18px}.cursor-dot,.cursor-ring{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* Reference-inspired navy and mint visual system */
:root{--ink:#ccd6f6;--paper:#081b33;--muted:#8892b0;--lime:#64ffda;--line:#263858;--orange:#64ffda}
body{background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif}
.grain{opacity:.02}.site-header{height:96px;background:rgba(8,27,51,.94);border-color:var(--line);position:sticky;top:0;backdrop-filter:blur(12px)}
.brand{color:var(--lime);font-family:'DM Mono',monospace}.brand span{width:52px;height:52px;border:2px solid var(--lime);border-radius:10px;background:transparent;color:var(--lime);font-size:17px}.brand em{color:var(--ink);font-family:Manrope,Arial,sans-serif}
.nav{gap:30px}.nav a,.header-cta,footer a{color:var(--ink);font-family:'DM Mono',monospace}.nav a:hover,.nav a.active,footer a:hover{color:var(--lime)}.header-cta{border:1px solid var(--lime);color:var(--lime);padding:14px 18px}.theme-toggle,.menu-toggle{color:var(--lime)}
.hero{min-height:760px;padding-top:100px}.eyebrow,.kicker,.project-type,.section-label,.skill-groups p,.muted,small{color:var(--lime)}.pulse{background:var(--lime);box-shadow:0 0 0 4px rgba(100,255,218,.14)}
.hero h1{font-size:clamp(58px,8vw,108px);color:var(--ink)}.hero h1 i,.section-heading i,.contact h2 i,h2 i{color:var(--muted);font-family:Manrope,Arial,sans-serif;font-weight:700}.hero-text,.about-body>p{color:var(--muted);font-size:16px;line-height:1.85}.button-primary{background:var(--lime);color:#071a30}.button-quiet{border-color:var(--lime);color:var(--lime)}.resume-link{color:var(--lime)}
.socials a{color:var(--muted);border-color:var(--line)}.portrait-frame{height:430px;border:1px solid var(--lime);background:#102746;box-shadow:20px 20px 0 transparent;transform:none}.portrait-frame img{filter:grayscale(1) sepia(.4) hue-rotate(115deg) saturate(2);mix-blend-mode:screen;opacity:.85}.portrait-tag{background:var(--paper);color:var(--lime)}.vertical-note{color:var(--lime)}.orb-one{background:rgba(100,255,218,.12)}.orb-two{background:var(--lime)}
.ticker{background:transparent;border-block:1px solid var(--line);color:var(--lime)}.section{padding-top:120px;padding-bottom:120px}.section-label{border-color:var(--line);font-size:13px}.section-label:after{background:var(--lime)}
.about-title h2,.skills-grid h2,.credential-grid h2,.section-heading h2{color:var(--ink)}.about-values{border-color:var(--line)}.about-values b{color:var(--lime)}.timeline-card{border-color:var(--line)}.timeline-card p,.timeline-card h3{color:var(--ink)}
.experience{margin-top:52px;max-width:840px}.experience-tabs{display:flex;border-bottom:1px solid var(--line);overflow:auto}.experience-tab{border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font:500 14px 'DM Mono';padding:14px 24px;cursor:pointer;white-space:nowrap}.experience-tab.active{border-color:var(--lime);color:var(--lime)}.experience-panel{padding:42px 24px 8px;border-left:1px solid var(--line)}.experience-panel h3{font-size:clamp(24px,4vw,36px);margin:12px 0;color:var(--ink)}.experience-panel ul{padding-left:20px;color:var(--muted);line-height:1.8}.experience-panel li{padding:8px 0}.experience-panel li::marker{color:var(--lime)}
.project-card{border-color:var(--line);background:rgba(17,40,69,.62)}.project-card:not(.featured){color:var(--ink)}.featured{background:#102746;border:1px solid var(--line)}.project-card>div:nth-child(2)>p:not(.project-type){color:var(--muted)}.project-card h3{color:var(--ink)}.tags span{border-color:var(--line)}.project-card:not(.featured) .tags span{border-color:var(--line)}.project-result strong{color:var(--lime)}
.skills-section{background:#0d2542}.skill-groups>div{border-color:var(--line)}.skill-groups span{background:#112b4b;color:var(--ink)}.credentials{background:#06162a}.credentials .section-label{border-color:var(--line);color:var(--lime)}.cert-list>div{border-color:var(--line)}.cert-list p{color:var(--ink)}.cert-list small{color:var(--muted)}
.contact{background:#0d2542}.contact h2{color:var(--ink)}.contact-intro{max-width:560px;margin:0 auto 32px;color:var(--muted);font-size:17px;line-height:1.7}.contact-open{border:1px solid var(--lime);cursor:pointer}.contact-meta{color:var(--muted)}.contact-meta a{color:var(--lime);text-decoration:none}footer{background:#06162a;border-color:var(--line)}
.modal{background:rgba(1,10,22,.78)}.modal-card{background:#102746;color:var(--ink);border-color:var(--line)}.modal-close{color:var(--lime)}.modal-description{color:var(--muted)}.modal-stack span{border-color:var(--line)}.contact-card{width:min(600px,100%)}.contact-card h2{font-size:clamp(30px,5vw,52px);line-height:1.05;margin:15px 0}.contact-card form{display:grid;gap:17px}.contact-card label{display:grid;gap:8px;color:var(--muted);font:12px 'DM Mono';text-transform:uppercase}.contact-card input,.contact-card textarea{width:100%;border:1px solid var(--line);background:#071a30;color:var(--ink);padding:13px;font:14px Manrope,Arial,sans-serif}.contact-card textarea{resize:vertical}
@media(max-width:760px){.site-header{height:78px;padding:0 6vw}.brand span{width:46px;height:46px}.brand em,.header-cta,.theme-toggle{display:none}.menu-toggle{display:block;font-size:0}.menu-toggle::after{content:'☰';font-size:27px}.nav{position:fixed;inset:78px 0 0 auto;width:min(86vw,360px);margin:0;padding:80px 13vw;background:#102746;display:flex;flex-direction:column;gap:30px;transform:translateX(100%);transition:transform .35s ease;box-shadow:-20px 0 50px rgba(0,0,0,.25)}.nav.open{transform:none}.nav a{font-size:17px}.hero{padding-top:90px;min-height:auto}.hero h1{font-size:clamp(53px,15vw,88px);line-height:1}.hero-text,.about-body>p{font-size:15px}.hero-visual{height:440px}.portrait-frame{width:76%;height:350px}.section{padding-top:88px;padding-bottom:88px}.section-heading{display:block}.section-heading>p{margin-top:25px}.experience-panel{padding:32px 18px 0}.project-card{grid-template-columns:48px 1fr;gap:10px}.project-card .project-result,.project-card .arrow-link{grid-column:2;align-items:flex-start;margin-top:18px}.project-card h3{font-size:31px}.contact h2{font-size:14vw}.contact-meta{flex-direction:column;gap:12px;margin-top:70px}.modal-card{max-height:90vh;overflow:auto}}

/* Match the reference template's compact, portfolio-first composition. */
.theme-toggle{display:none}
.brand span{clip-path:polygon(50% 0,94% 25%,94% 75%,50% 100%,6% 75%,6% 25%);border-radius:0}
.site-header{box-shadow:0 8px 28px rgba(1,10,22,.12)}
.hero-copy{max-width:670px}.hero h1{max-width:720px;font-family:Manrope,Arial,sans-serif;font-weight:800;letter-spacing:-.06em}.hero h1 i{display:block;font-style:normal;color:var(--muted)}
.hero-actions{align-items:center}.hero-actions .button{border:1px solid var(--lime);background:transparent;color:var(--lime);font:500 13px 'DM Mono'}.hero-actions .button-primary{background:transparent}.resume-link{font:500 12px 'DM Mono';text-decoration:none;border-bottom:1px solid var(--lime);padding-bottom:5px}
.hero-visual{height:430px}.hero-visual::after{content:"";position:absolute;width:340px;height:340px;border:1px solid rgba(100,255,218,.28);border-radius:50%}.portrait-frame{z-index:1;border-radius:5px}.orb-one,.orb-two{z-index:0}
.section-label{display:flex;align-items:center;gap:18px;border-bottom:0}.section-label::after{content:"";display:block;height:1px;width:100%;background:var(--line);margin:0}.section-label:after{width:100%;height:1px;background:var(--line);margin:0}.about-title h2,.skills-grid h2,.credential-grid h2,.section-heading h2{font-family:Manrope,Arial,sans-serif;font-weight:800;letter-spacing:-.06em}.about-title h2 span{color:var(--muted)}
.project-filters{display:flex;gap:10px;margin-bottom:32px}.project-filters button{border:1px solid var(--line);background:transparent;color:var(--muted);padding:10px 14px;font:500 11px 'DM Mono';cursor:pointer}.project-filters button.active,.project-filters button:hover{border-color:var(--lime);color:var(--lime)}.project-card.is-hidden{display:none}
.project-card{border-radius:2px}.project-card:hover{background:#153252}.featured{min-height:300px}.project-card h3{font-family:Manrope,Arial,sans-serif;font-weight:800}
.contact{padding-top:150px}.contact h2{font-family:Manrope,Arial,sans-serif;font-weight:800;letter-spacing:-.07em}.contact h2 i{display:block;font-style:normal}.contact-open{font:500 13px 'DM Mono'}
@media(max-width:760px){.site-header{position:fixed;left:0;right:0}.hero{padding-top:155px;min-height:100vh;display:block}.hero-copy{max-width:none}.hero .eyebrow{font-size:12px;line-height:1.6}.hero h1{font-size:clamp(48px,14vw,76px);margin-top:34px}.hero-text{font-size:15px;line-height:1.85}.hero-actions{display:block;margin-top:42px}.hero-actions .button{display:block;text-align:center;margin-bottom:16px;padding:20px 14px}.hero-actions .resume-link{display:inline-block;margin-top:7px}.socials{margin-top:44px}.hero-visual{display:none}.ticker{margin-top:0}.about-grid,.skills-grid,.credential-grid{display:block;padding-top:42px}.about-title{margin-bottom:42px}.about-title h2{font-size:43px}.about-values{gap:22px}.section-label{font-size:12px}.experience{margin-top:35px}.experience-tabs{margin-inline:-5vw;padding-inline:5vw}.experience-panel{border-left:0;padding:34px 0 0}.experience-panel h3{font-size:27px}.projects-section .section-heading h2{font-size:46px}.project-filters{overflow:auto;margin-inline:-5vw;padding-inline:5vw}.project-filters button{flex:0 0 auto}.project-card{padding:24px 18px}.featured{padding:28px 18px}.project-card h3{font-size:29px}.skills-section,.credentials{padding-left:5vw;padding-right:5vw}.skill-groups span{font-size:11px}.contact{padding-top:110px;padding-bottom:90px}.contact h2{font-size:49px}.contact-intro{font-size:15px}.contact-meta{font-size:10px}}

/* Reference footer and right-hand menu drawer. */
body.panel-open{overflow:hidden}
.site-header .nav,.site-header .header-cta{display:none}
.site-header .menu-toggle{display:block;margin-left:auto;border:0;background:transparent;color:var(--lime);font-size:0;cursor:pointer}
.site-header .menu-toggle::after{content:'☰';font-size:30px}
.side-panel{position:fixed;inset:0;z-index:80;background:rgba(3,13,28,0);pointer-events:none;transition:background .35s ease,backdrop-filter .35s ease}
.side-panel.open{background:rgba(3,13,28,.58);backdrop-filter:blur(6px);pointer-events:auto}
.side-panel-inner{position:absolute;top:0;right:0;width:min(76vw,620px);height:100%;padding:54px clamp(32px,8vw,110px);background:#102746;color:var(--ink);transform:translateX(100%);transition:transform .4s cubic-bezier(.2,.75,.25,1);box-shadow:-28px 0 70px rgba(0,0,0,.22)}
.side-panel.open .side-panel-inner{transform:none}
.side-brand{position:absolute;top:52px;left:clamp(32px,8vw,110px)}.side-brand em{display:none}.side-close{position:absolute;top:45px;right:clamp(30px,7vw,90px);border:0;background:transparent;color:var(--lime);font-size:58px;font-weight:200;line-height:1;cursor:pointer}
.side-nav{position:absolute;top:155px;right:clamp(32px,8vw,110px);left:clamp(32px,8vw,110px);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:30px}.side-nav a{display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font:500 clamp(20px,3vw,30px) 'DM Mono';transition:color .2s ease,transform .2s ease}.side-nav a:hover{color:var(--lime);transform:translateX(5px)}.side-nav b{font:500 16px 'DM Mono';color:var(--lime)}
.side-resume{position:absolute;bottom:52px;left:50%;transform:translateX(-50%);min-width:210px;text-align:center;border:1px solid var(--lime);color:var(--lime);background:transparent;font:500 13px 'DM Mono';z-index:1}
footer{min-height:180px;padding:34px 5vw 24px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:22px;text-align:center}.footer-socials{display:flex;gap:28px}.footer-socials a{display:grid;place-items:center;width:52px;height:52px;border:1px solid var(--line);border-radius:50%;color:var(--ink);text-decoration:none;transition:border-color .25s ease,color .25s ease,transform .25s ease}.footer-socials a:hover{border-color:var(--lime);color:var(--lime);transform:translateY(-3px)}.footer-socials svg{width:24px;height:24px;fill:currentColor}.footer-name{color:var(--ink);font:500 17px 'DM Mono';text-decoration:none}.footer-note{color:var(--muted);font:500 9px 'DM Mono';letter-spacing:.16em}
@media(max-width:760px){.side-panel-inner{width:76vw;padding:40px 22px}.side-brand{top:52px;left:28px}.side-close{top:45px;right:24px;font-size:52px}.side-nav{top:150px;right:22px;left:22px;gap:22px}.side-nav a{font-size:20px;gap:7px}.side-nav b{font-size:14px}.side-resume{bottom:38px}.footer-socials{gap:24px}footer{min-height:210px}}

/* Final responsive layout rules */
img{max-width:100%;height:auto}
button,a{touch-action:manipulation}
.hero,.about-grid,.experience,.project-list,.skills-grid,.credential-grid{min-width:0}
.hero-text,.about-body,.project-content,.modal-card{min-width:0;overflow-wrap:anywhere}
.side-panel-inner{display:grid;grid-template-rows:92px minmax(0,1fr) auto;align-items:stretch;padding:0 clamp(28px,7vw,92px);height:100dvh;min-height:520px;overflow-y:auto}
.side-brand{position:static;align-self:start;margin-top:38px}.side-close{top:32px;right:clamp(24px,6vw,72px)}
.side-nav{position:static;min-height:0;display:flex;justify-content:center;gap:clamp(18px,3.5vh,34px);padding:16px 0}
.side-nav a{font-size:clamp(18px,2.2vw,28px)}
.side-actions{display:grid;gap:12px;padding:18px 0 28px}.side-resume{position:static;align-self:center;justify-self:center;transform:none;min-height:52px;padding:16px 22px}
footer{width:100%;padding:42px 5vw 30px}
@media(max-width:1100px){.section-wrap{padding-left:6vw;padding-right:6vw}.hero{gap:clamp(24px,5vw,70px)}.hero h1{font-size:clamp(54px,8vw,88px)}.project-card{grid-template-columns:90px minmax(0,1fr) 130px}.project-card h3{font-size:clamp(28px,3.5vw,36px)}}
@media(max-width:760px){.section-wrap{padding-left:6vw;padding-right:6vw}.site-header{padding:0 6vw}.hero{padding-top:145px;padding-bottom:72px;min-height:100svh}.hero h1{font-size:clamp(46px,14vw,76px);letter-spacing:-.055em}.hero-text{font-size:15px;line-height:1.75}.hero-actions{display:flex;flex-direction:column;align-items:stretch;gap:12px}.hero-actions .button{width:100%;text-align:center;margin:0}.hero-actions .resume-link{align-self:center;margin-top:4px}.socials{justify-content:center;flex-wrap:wrap;gap:18px}.ticker{font-size:10px}.section{padding-top:84px;padding-bottom:84px}.section-label{font-size:11px;gap:12px}.about-grid,.skills-grid,.credential-grid{display:block;padding-top:42px}.about-title{margin-bottom:38px}.about-title h2,.skills-grid h2,.credential-grid h2{font-size:clamp(38px,11vw,54px)}.about-body>p{font-size:15px;line-height:1.8}.about-values{gap:16px;justify-content:space-between}.about-values div{gap:7px}.experience{margin-top:32px}.experience-tabs{margin:0;overflow-x:auto}.experience-tab{padding:13px 16px;font-size:12px}.experience-panel{padding:28px 0 0}.experience-panel h3{font-size:clamp(24px,8vw,32px)}.section-heading{margin-bottom:35px}.projects-section .section-heading h2{font-size:clamp(40px,11vw,54px)}.project-filters{margin:0 0 24px;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.project-filters button{flex:0 0 auto}.project-card,.featured{grid-template-columns:42px minmax(0,1fr);padding:22px 16px;min-height:0}.project-card h3{font-size:clamp(26px,8vw,34px)}.project-card .project-result,.project-card .arrow-link{grid-column:2;align-items:flex-start;margin-top:16px}.project-result{gap:8px}.skills-section,.credentials{padding-left:6vw;padding-right:6vw}.skill-groups span{font-size:11px}.contact{padding:92px 6vw 78px}.contact h2{font-size:clamp(44px,13vw,64px);line-height:.98}.contact-intro{font-size:15px}.contact-meta{gap:12px;margin-top:58px}.modal{padding:14px}.modal-card{padding:24px 18px;max-height:calc(100dvh - 28px);overflow:auto}.contact-card h2{font-size:clamp(30px,9vw,48px)}.side-panel-inner{width:min(88vw,430px);grid-template-rows:82px minmax(0,1fr) 102px;min-height:480px;padding:0 24px}.side-brand{margin-top:30px}.side-close{top:26px;right:20px;font-size:48px}.side-nav{gap:clamp(15px,3.2vh,26px);padding:12px 0}.side-nav a{font-size:clamp(18px,6vw,24px);gap:6px}.side-nav b{font-size:12px}.side-resume{min-width:180px;padding:14px 18px}footer{min-height:190px;padding:36px 6vw 26px}}
@media(max-width:760px) and (max-height:620px){.side-panel-inner{min-height:0;grid-template-rows:68px minmax(0,1fr) 76px}.side-brand{margin-top:22px}.side-close{top:16px}.side-nav{gap:8px;padding:4px 0}.side-nav a{font-size:16px;gap:3px}.side-nav b{font-size:10px}.side-resume{min-height:42px;padding:10px 16px}.hero{padding-top:120px}}
@media(min-width:1400px){.section-wrap{max-width:1380px}.hero{min-height:820px}.hero h1{font-size:clamp(80px,7vw,122px)}}

/* Accessible light mode; dark reference styling remains the default. */
body.light-mode{--ink:#172033;--paper:#f4f7fb;--muted:#53627c;--lime:#087f70;--line:#c9d3e2;--orange:#087f70;background:var(--paper);color:var(--ink)}
body.light-mode .site-header{background:rgba(244,247,251,.9);border-color:var(--line)}
body.light-mode .brand span{background:transparent;border-color:var(--lime);color:var(--lime)}
body.light-mode .site-header .menu-toggle,body.light-mode .theme-toggle{color:var(--lime)}
body.light-mode .hero-text,body.light-mode .about-body>p{color:var(--muted)}
body.light-mode .portrait-frame{background:#dce5ef;border-color:var(--lime)}
body.light-mode .portrait-frame img{filter:grayscale(.35) sepia(.15) hue-rotate(125deg) saturate(1.25);mix-blend-mode:multiply}
body.light-mode .ticker{background:#d9f5ed;color:#075f55;border-color:#a8dacc}
body.light-mode .project-card{background:#eaf0f7;border-color:var(--line)}
body.light-mode .project-card:hover{background:#e0eaf3}
body.light-mode .featured{background:#172b46;color:#f4f7fb;border-color:#29466b}
body.light-mode .skills-section{background:#e8eef5}
body.light-mode .skill-groups span{background:#fff;color:var(--ink)}
body.light-mode .credentials{background:#172b46;color:#f4f7fb}
body.light-mode .contact{background:#d9f5ed}
body.light-mode .contact h2{color:var(--ink)}
body.light-mode footer{background:#e8eef5}
body.light-mode .side-panel-inner{background:#edf3f9}
body.light-mode .side-nav a{color:var(--ink)}
body.light-mode .side-resume{color:var(--lime);border-color:var(--lime)}
body.light-mode .side-close{color:var(--lime)}
body.light-mode .modal-card{background:#edf3f9;color:var(--ink)}
body.light-mode .modal-card h2,body.light-mode .modal-card p,body.light-mode .modal-card label,body.light-mode .cert-list p,body.light-mode .experience-panel h3,body.light-mode .project-card h3,body.light-mode .about-title h2,body.light-mode .skills-grid h2,body.light-mode .credential-grid h2{color:var(--ink)}
body.light-mode .project-card>div:nth-child(2)>p:not(.project-type),body.light-mode .experience-panel ul,body.light-mode .modal-description,body.light-mode .contact-intro{color:var(--muted)}
body.light-mode .project-type,body.light-mode .section-label,body.light-mode .skill-groups p,body.light-mode .muted,body.light-mode small{color:#087f70}
body.light-mode .form-status{color:var(--muted)}body.light-mode .form-status.success{color:#087f70}body.light-mode .form-status.error{color:#b43f3f}
.theme-toggle{border:1px solid var(--lime);background:transparent;color:var(--lime);cursor:pointer}
.theme-toggle:hover{background:rgba(100,255,218,.12)}
.site-header>.theme-toggle{display:grid;place-items:center;width:38px;height:38px;margin-left:auto;margin-right:12px;padding:0;border-radius:50%;font-size:19px}
.mode-toggle{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:46px;font:500 12px 'DM Mono';letter-spacing:.04em}
@media(max-width:760px){.site-header>.theme-toggle{display:none}.side-panel-inner{grid-template-rows:82px minmax(0,1fr) auto}.side-actions{gap:10px;padding:12px 0 24px}.side-resume{min-height:48px}}
@media(max-width:760px) and (max-height:620px){.side-panel-inner{grid-template-rows:68px minmax(0,1fr) auto}.side-actions{gap:6px;padding:8px 0 14px}.side-resume{min-height:42px}.mode-toggle{min-height:38px}}
