*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:"DM Sans",sans-serif;background:#f3f3f1;color:#181818;line-height:1.6;overflow-x:hidden}.noise{position:fixed;inset:0;pointer-events:none;opacity:.035;z-index:99;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E")}.cursor-glow{position:fixed;width:280px;height:280px;border:1px solid rgba(17,17,17,.08);border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);z-index:0;transition:width .25s,height .25s;opacity:.5}.nav-wrap{position:fixed;top:0;left:0;right:0;z-index:50;padding:18px 5vw}.nav{max-width:1300px;margin:auto;height:62px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;background:rgba(243,243,241,.8);backdrop-filter:blur(16px);border:1px solid rgba(17,17,17,.08);border-radius:14px}.brand{font-family:"Space Grotesk";font-size:25px;font-weight:700;text-decoration:none;color:#111}.brand span{color:#777}.nav-links{display:flex;gap:34px}.nav-links a,.nav-cta{color:#222;text-decoration:none;font-size:13px;font-weight:600}.nav-links a{opacity:.65;transition:.2s}.nav-links a:hover{opacity:1}.nav-actions{display:flex;gap:10px;align-items:center}.icon-btn,.menu-btn{border:1px solid #d4d4d1;background:#fff;width:38px;height:38px;border-radius:10px;cursor:pointer}.nav-cta{background:#ededeb;color:#fff;padding:10px 15px;border-radius:9px}.menu-btn{display:none}.section{max-width:1300px;margin:auto;padding:125px 5vw}.hero{min-height:900px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:7vw;padding-top:150px}.eyebrow{font-size:11px;letter-spacing:.2em;font-weight:700;margin-bottom:25px;color:#555}.pulse{display:inline-block;width:8px;height:8px;border-radius:50%;background:#222;margin-right:9px;box-shadow:0 0 0 5px #ddd}.hero h1{font-family:"Space Grotesk";font-size:clamp(64px,9vw,128px);line-height:.83;letter-spacing:-.075em;margin-left:-7px}.hero h1 em,.contact h2 em{font-style:normal;color:#777}.hero-lead{max-width:590px;font-size:18px;color:#5a5a5a;margin:36px 0}.hero-lead strong{color:#222}.hero-actions{display:flex;gap:10px}.btn{border:1px solid #cfcfcb;border-radius:10px;padding:13px 18px;text-decoration:none;display:inline-flex;gap:22px;justify-content:space-between;align-items:center;font-weight:700;font-size:13px;cursor:pointer}.btn-dark{background:#ededeb;color:white;border-color:#ededeb}.btn-light{background:#fff;color:#ededeb}.mini-proof{display:flex;gap:42px;margin-top:70px;padding-top:25px;border-top:1px solid #d2d2cf}.mini-proof div{display:flex;gap:10px;align-items:flex-start}.mini-proof strong{font-family:"Space Grotesk";font-size:20px}.mini-proof span{font-size:10px;color:#777;line-height:1.25;text-transform:uppercase;letter-spacing:.08em}.hero-visual{position:relative}.photo-frame{background:#252525;padding:20px;box-shadow:30px 30px 0 #dededb;transform:rotate(1.5deg)}.photo-frame img{width:100%;height:min(650px,60vw);object-fit:cover;object-position:center top;display:block;filter:grayscale(100%)}.photo-tag,.photo-caption{display:flex;justify-content:space-between;color:#ddd;font-size:10px;letter-spacing:.13em;text-transform:uppercase;padding:5px 0 14px}.photo-caption{padding:13px 0 0;color:#aaa}.float-card{position:absolute;background:#fff;border:1px solid #d3d3d0;box-shadow:10px 10px 0 rgba(17,17,17,.07);padding:11px 14px;font-size:11px;font-weight:700}.float-card span{color:#999;margin-right:8px}.fc-one{left:-55px;top:18%}.fc-two{right:-45px;bottom:20%}.marquee{overflow:hidden;background:#202020;color:#eee;white-space:nowrap;padding:15px 0;font-family:"Space Grotesk";font-size:12px;letter-spacing:.12em}.marquee div{display:inline-block;animation:marquee 24s linear infinite}.marquee b{margin:0 25px;color:#777}@keyframes marquee{to{transform:translateX(-50%)}}.section-head{display:flex;align-items:baseline;gap:35px;border-bottom:1px solid #cfcfcb;padding-bottom:20px;margin-bottom:70px}.section-no{font:600 11px "Space Grotesk";letter-spacing:.12em;color:#888}.section-head h2{font:600 clamp(38px,5vw,70px) "Space Grotesk";letter-spacing:-.05em}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.big-copy{font:500 clamp(36px,4.5vw,62px) "Space Grotesk";line-height:1.05;letter-spacing:-.045em}.big-copy em{font-style:normal;color:#888}.about-body{max-width:550px;font-size:16px;color:#60605d}.about-body p+p{margin-top:18px}.text-link{margin-top:32px;border:0;background:none;font-weight:700;border-bottom:1px solid #222;padding-bottom:4px;cursor:pointer}.timeline{border-top:1px solid #cfcfcb}.job{display:grid;grid-template-columns:180px 1fr;border-bottom:1px solid #cfcfcb;padding:38px 0;transition:.3s;cursor:pointer}.job:hover{background:#eaeae7;padding-left:18px;padding-right:18px}.job-year{font:600 11px "Space Grotesk";color:#888}.job-main{max-width:850px}.job-top{display:flex;justify-content:space-between;align-items:flex-start}.job-role{font-size:12px;text-transform:uppercase;letter-spacing:.13em;color:#777}.job h3{font:600 31px "Space Grotesk";letter-spacing:-.03em;margin:5px 0 15px}.job p{color:#646461;max-width:760px}.round-arrow{border:1px solid #c9c9c5;border-radius:50%;background:#fff;width:42px;height:42px;cursor:pointer}.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.chips span{font-size:10px;text-transform:uppercase;letter-spacing:.06em;border:1px solid #d0d0cc;border-radius:30px;padding:5px 9px;color:#777}.skills-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #cfcfcb;border-left:1px solid #cfcfcb}.skill-card{text-align:left;position:relative;min-height:330px;padding:26px;background:#f3f3f1;border:0;border-right:1px solid #cfcfcb;border-bottom:1px solid #cfcfcb;cursor:pointer;transition:.3s}.skill-card:hover{background:#202020;color:#fff;transform:translateY(-8px);box-shadow:0 20px 35px rgba(17,17,17,.15)}.skill-index{font:600 10px "Space Grotesk";color:#999}.skill-icon{display:block;font-size:36px;margin:48px 0 25px}.skill-card h3{font:600 25px "Space Grotesk";line-height:1.05;letter-spacing:-.04em}.skill-card p{font-size:12px;color:#777;margin-top:15px}.skill-card:hover p{color:#aaa}.card-more{position:absolute;bottom:25px;left:26px;font-size:11px;font-weight:700}.tool-strip{margin-top:70px;border-top:1px solid #cfcfcb;border-bottom:1px solid #cfcfcb;padding:25px 0;display:flex;gap:40px}.tool-label{font-size:10px;letter-spacing:.14em;color:#888;min-width:145px}.tools{display:flex;gap:10px;flex-wrap:wrap}.tools span{background:#e8e8e5;padding:6px 10px;border-radius:4px;font-size:11px}.edu-card{background:#222;color:#eee;min-height:400px;padding:55px;display:flex;justify-content:space-between;align-items:flex-end}.edu-left span{font-size:10px;letter-spacing:.18em;color:#999}.edu-left h2{font:600 clamp(50px,7vw,90px) "Space Grotesk";line-height:.82;letter-spacing:-.06em;margin-top:35px}.edu-right{display:flex;flex-direction:column;align-items:flex-end;gap:40px}.edu-right>div{display:flex;flex-direction:column;align-items:flex-end}.edu-right .muted{color:#999;font-size:12px}.edu-right strong{font:500 45px "Space Grotesk"}.contact{padding-bottom:150px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw;border-bottom:1px solid #cfcfcb;padding-bottom:80px}.contact h2{font:600 clamp(55px,7vw,100px) "Space Grotesk";line-height:.88;letter-spacing:-.065em}.contact-info{max-width:550px;padding-top:20px}.contact-info>p{color:#666;margin-bottom:28px}.email-link{font:600 clamp(24px,3vw,40px) "Space Grotesk";letter-spacing:-.04em;border:0;background:none;cursor:pointer;border-bottom:2px solid #222;padding-bottom:5px}.email-link span{font-size:20px}.contact-meta{display:flex;gap:20px;flex-wrap:wrap;margin:28px 0;color:#777;font-size:11px;text-transform:uppercase;letter-spacing:.06em}footer{padding:25px 5vw;display:flex;justify-content:space-between;color:#888;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.modal{position:fixed;inset:0;background:rgba(10,10,10,.65);backdrop-filter:blur(8px);z-index:100;display:grid;place-items:center;padding:20px;opacity:0;pointer-events:none;transition:.25s}.modal.open{opacity:1;pointer-events:auto}.modal-box{position:relative;background:#f5f5f2;max-width:650px;width:100%;padding:55px;transform:translateY(20px) scale(.98);transition:.3s;box-shadow:20px 20px 0 rgba(17,17,17,.08)}.modal.open .modal-box{transform:none}.modal-close{position:absolute;right:18px;top:14px;border:0;background:none;font-size:32px;cursor:pointer;color:#555}.modal-label{font:600 10px "Space Grotesk";letter-spacing:.18em;color:#888}.modal-box h2{font:600 clamp(36px,5vw,60px) "Space Grotesk";line-height:.95;letter-spacing:-.05em;margin:20px 0}.modal-box p{color:#5f5f5c;margin-top:15px}.modal-box ul{margin:20px 0 0 18px;color:#555}.modal-box li{margin:9px 0}.modal-email{display:block;color:#111;font:600 28px "Space Grotesk";margin-top:20px}.modal-small{font-size:12px}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,30px);background:#ededeb;color:#fff;padding:12px 18px;border-radius:8px;font-size:12px;opacity:0;z-index:120;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:900px){.nav-links{display:none}.menu-btn{display:block}.hero{grid-template-columns:1fr;min-height:auto}.hero-visual{max-width:600px;margin:30px auto 0}.float-card{display:none}.skills-grid{grid-template-columns:1fr 1fr}.contact-grid,.about-grid{grid-template-columns:1fr;gap:45px}.job{grid-template-columns:120px 1fr}.edu-card{min-height:360px}.tool-strip{display:block}.tools{margin-top:20px}}@media(max-width:600px){.nav-wrap{padding:10px}.nav{height:56px}.nav-cta{display:none}.section{padding:90px 6vw}.hero{padding-top:120px}.hero h1{font-size:68px}.hero-lead{font-size:16px}.mini-proof{gap:18px;flex-wrap:wrap;margin-top:45px}.photo-frame{padding:12px;box-shadow:15px 15px 0 #dededb}.photo-frame img{height:115vw}.section-head{margin-bottom:45px;gap:18px}.job{grid-template-columns:1fr;gap:10px}.job-year{margin-bottom:5px}.job h3{font-size:25px}.skills-grid{grid-template-columns:1fr}.skill-card{min-height:280px}.edu-card{padding:35px 28px;display:block}.edu-left h2{font-size:62px;margin:25px 0 55px}.edu-right{align-items:flex-start;gap:25px}.edu-right>div{align-items:flex-start}.contact h2{font-size:58px}.modal-box{padding:40px 25px}.modal-email{font-size:21px}footer{display:block;line-height:2}.cursor-glow{display:none}}

body.high-contrast{background:#fff;color:#000}body.high-contrast .nav{background:rgba(17,17,17,.94)}body.high-contrast .marquee,body.high-contrast .edu-card{background:#000}body.high-contrast .skill-card:hover{background:#000}

.work-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:45px}.work-intro p{max-width:600px;color:#666;font-size:15px}.gallery-grid{display:grid;grid-template-columns:1.15fr .85fr .85fr;grid-auto-rows:260px;gap:12px}.work-card{position:relative;overflow:hidden;border:0;padding:0;background:#ddd;cursor:pointer;min-height:0}.work-card img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(15%);transition:transform .6s ease,filter .4s ease}.work-card:hover img{transform:scale(1.06);filter:grayscale(0)}.work-wide{grid-column:span 2}.work-tall{grid-row:span 2}.work-overlay{position:absolute;left:0;right:0;bottom:0;padding:60px 20px 18px;text-align:left;color:#fff;background:linear-gradient(transparent,rgba(17,17,17,.78));transform:translateY(8px);transition:.3s}.work-card:hover .work-overlay{transform:none}.work-overlay b{display:block;font:600 25px "Space Grotesk";letter-spacing:-.03em}.work-overlay small{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#ddd}.gallery-note{margin-top:18px;color:#888;font-size:10px;letter-spacing:.04em}.lightbox{position:fixed;inset:0;background:rgba(8,8,8,.9);backdrop-filter:blur(10px);z-index:130;display:grid;place-items:center;padding:30px;opacity:0;pointer-events:none;transition:.25s}.lightbox.open{opacity:1;pointer-events:auto}.lightbox-inner{max-width:1100px;width:100%;position:relative}.lightbox-inner>img{display:block;width:100%;max-height:78vh;object-fit:contain;background:#111}.lightbox-close{position:absolute;right:-5px;top:-48px;border:0;background:none;color:#fff;font-size:38px;cursor:pointer}.lightbox-caption{color:#fff;display:flex;justify-content:space-between;gap:20px;padding-top:14px}.lightbox-caption div{display:flex;gap:15px;align-items:baseline}.lightbox-caption span{font:600 20px "Space Grotesk"}.lightbox-caption small{color:#aaa;font-size:10px}.lightbox-caption>small{text-align:right;max-width:45%}@media(max-width:900px){.work-intro{display:block}.work-intro .text-link{display:inline-block}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:230px}.work-wide{grid-column:span 2}.work-tall{grid-row:span 1}}@media(max-width:600px){.gallery-grid{grid-template-columns:1fr;grid-auto-rows:260px}.work-wide{grid-column:auto}.lightbox{padding:12px}.lightbox-caption{display:block}.lightbox-caption>small{display:block;text-align:left;margin-top:7px;max-width:none}}

.collab-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:45px}.collab-intro p{max-width:650px;color:#666}.collab-note{font:600 10px "Space Grotesk";letter-spacing:.13em;text-transform:uppercase;color:#999}.collab-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #cfcfcb;border-left:1px solid #cfcfcb}.collab-card{min-height:270px;padding:28px;border-right:1px solid #cfcfcb;border-bottom:1px solid #cfcfcb;background:#f3f3f1;transition:.3s}.collab-card:hover{background:#202020;color:#fff;transform:translateY(-5px)}.collab-type{font:600 9px "Space Grotesk";letter-spacing:.15em;color:#999}.collab-card h3{font:600 31px "Space Grotesk";letter-spacing:-.04em;margin:45px 0 12px}.collab-card p{font-size:12px;color:#70706d;max-width:320px}.collab-card:hover p{color:#aaa}.collab-card a{display:inline-block;margin-top:25px;color:inherit;text-decoration:none;font-size:11px;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:3px}.source-chip{display:inline-block;margin-top:25px;font-size:9px;text-transform:uppercase;letter-spacing:.08em;border:1px solid #cfcfcb;border-radius:30px;padding:6px 9px;color:#888}.collab-card:hover .source-chip{border-color:#555}.collab-footer{display:flex;justify-content:space-between;gap:40px;border-bottom:1px solid #cfcfcb;padding:35px 0}.collab-footer p{font-size:12px;color:#666;max-width:650px}.collab-footer strong{color:#222}@media(max-width:900px){.collab-grid{grid-template-columns:1fr 1fr}.collab-intro{display:block}.collab-note{display:block;margin-top:15px}}@media(max-width:600px){.collab-grid{grid-template-columns:1fr}.collab-footer{display:block}.collab-footer .text-link{display:inline-block;margin-top:20px}}

/* --- Verified brand / research UI --- */
.collab-sub{margin-top:10px;font-size:.92rem;opacity:.72;max-width:760px}
.collab-card .card-meta-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px;padding-top:14px;border-top:1px solid rgba(17,17,17,.12)}
.collab-card .card-meta-row a{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;text-decoration:none;color:inherit}
.verified{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;opacity:.78}
.small-note{font-size:.82rem!important;line-height:1.6;opacity:.62;max-width:800px}
.source-note{margin:0 auto 34px;max-width:1180px;padding:18px 22px;border-top:1px solid rgba(17,17,17,.14);border-bottom:1px solid rgba(17,17,17,.14);display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.source-note>div{flex:1 1 520px}
.source-note span{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;opacity:.55}
.source-note p{margin:6px 0 0;font-size:.78rem;line-height:1.55;opacity:.68}
.source-note>a{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;text-decoration:none;color:inherit;border-bottom:1px solid currentColor;padding-bottom:3px}
@media (max-width:720px){
  .collab-card .card-meta-row{align-items:flex-start;flex-direction:column}
  .source-note{margin-left:18px;margin-right:18px}
}

/* --- White & Grey editorial theme --- */
:root{
  --bg:#f5f5f3;
  --surface:#111111;
  --surface-2:#eeeeec;
  --text:#ededeb;
  --muted:#6f6f6b;
  --line:#d8d8d4;
  --dark:#242424;
  --shadow:0 20px 55px rgba(17,17,17,.08);
}
html{background:var(--bg);color:var(--text)}
body{background:var(--bg);color:var(--text)}
a{color:inherit}
nav,.nav,.navbar,.site-nav{background:rgba(245,245,243,.88)!important;border-color:var(--line)!important;backdrop-filter:blur(16px)}
section{background:transparent}
.hero,.hero-section{background:var(--bg)!important}
.card,.project-card,.collab-card,.skill-card,.experience-card,.contact-card,.education-card{
  background:var(--surface)!important;
  border-color:var(--line)!important;
  box-shadow:none;
}
.collab-card:hover,.project-card:hover,.experience-card:hover,.skill-card:hover{box-shadow:var(--shadow)}
.btn,.button,.cta{
  background:var(--dark)!important;color:#fff!important;border-color:var(--dark)!important;
}
.btn:hover,.button:hover,.cta:hover{background:#4a4a4a!important}
.tag,.chip,.source-chip,.verified{background:var(--surface-2)!important;color:#454541!important;border-color:var(--line)!important}
.marquee,.section-alt,.footer{background:var(--surface)!important}
img{filter:none}
.overlay,.modal,.lightbox{background:rgba(20,20,20,.88)!important}
::selection{background:#333;color:#fff}

/* --- Premium grey & white theme --- */
:root{
  --bg:#f4f4f2;
  --surface:#ffffff;
  --surface-2:#ededeb;
  --ink:#111111;
  --muted:#666662;
  --line:#d8d8d3;
  --line-strong:#bdbdb7;
  --accent:#8b8b85;
}
body{
  background:var(--bg);
  color:var(--ink);
}
body::selection{background:#111;color:#fff}
a{color:inherit}
.site-header{
  background:rgba(244,244,242,.88)!important;
  color:var(--ink)!important;
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(14px);
}
.site-header a,.nav-toggle{color:var(--ink)!important}
.hero{
  background:
    radial-gradient(circle at 78% 20%, rgba(255,255,255,.9), transparent 28%),
    linear-gradient(135deg,#f8f8f6 0%,#e8e8e5 58%,#dcdcd8 100%);
}
.hero::before{opacity:.18}
.hero-title,.section h2,.about h3,.experience h3,.skills h3,.education h3,.collab-card h3{color:#111}
.hero-kicker,.section-no,.eyebrow,.collab-type{color:#73736e}
.btn-primary{
  background:#111!important;color:#fff!important;border:1px solid #111!important;
}
.btn-secondary{
  background:transparent!important;color:#111!important;border:1px solid #9c9c96!important;
}
.btn-primary:hover{background:#3b3b39!important}
.section,.collab-card,.work-card,.skill-card,.timeline-card,.contact-card{
  background:var(--surface);
  border-color:var(--line)!important;
}
.work-card:hover,.collab-card:hover,.skill-card:hover{
  border-color:#9f9f99!important;
  box-shadow:0 16px 45px rgba(17,17,17,.08);
}
.work-image{filter:grayscale(12%)}
.marquee{background:#111;color:#fff}
.marquee span{color:#fff}
.modal{background:rgba(17,17,17,.45)}
.modal-content{background:#fff;color:#111;border:1px solid var(--line)}
.modal-close{color:#111}
.toast{background:#111;color:#fff}
footer{background:#111!important;color:#fff!important}
.source-note{background:#fff;border-color:var(--line)!important}
.source-note a{color:#111}
.collab-footer{border-top-color:var(--line)!important}
.verified{color:#666}
.source-chip{background:#ededeb;color:#555;border-color:#d5d5d0}
::-webkit-scrollbar{width:9px}
::-webkit-scrollbar-track{background:#ededeb}
::-webkit-scrollbar-thumb{background:#9c9c96;border-radius:10px}
::-webkit-scrollbar-thumb:hover{background:#666662}

/* --- Project portfolio gallery --- */
.projects-section .work-intro{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:34px}
.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.project-card{appearance:none;border:1px solid var(--line);background:#fff;color:#111;padding:0;text-align:left;cursor:pointer;overflow:hidden;border-radius:2px;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
.project-card:hover{transform:translateY(-5px);border-color:#9f9f99;box-shadow:0 20px 55px rgba(17,17,17,.11)}
.project-cover{height:390px;position:relative;overflow:hidden;background:#e8e8e5}
.project-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .4s ease}
.project-card:hover .project-cover img{transform:scale(1.045);filter:saturate(1.03)}
.project-count{position:absolute;right:14px;bottom:14px;background:rgba(17,17,17,.84);color:#fff;padding:7px 10px;font-size:.68rem;letter-spacing:.09em;text-transform:uppercase}
.project-body{padding:20px 20px 22px;display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.project-kicker{font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:#777;display:block;margin-bottom:7px}
.project-body h3{margin:0;font-size:1.35rem;letter-spacing:-.02em}.project-body p{margin:6px 0 0;color:#777;font-size:.83rem}.project-arrow{font-size:1.25rem;opacity:.65}
.project-lightbox{position:fixed;inset:0;background:rgba(15,15,15,.78);z-index:1000;display:none;padding:28px;overflow:auto}
.project-lightbox.open{display:block}.project-lightbox-inner{max-width:1200px;margin:0 auto;background:#f4f4f2;min-height:calc(100vh - 56px);padding:34px;border:1px solid rgba(255,255,255,.18);position:relative}
.project-lightbox-close{position:absolute;right:18px;top:12px;background:none;border:0;font-size:2rem;cursor:pointer;color:#111;line-height:1}.project-lightbox-head{display:flex;justify-content:space-between;gap:30px;align-items:flex-start;padding-right:40px}.project-lightbox-head h2{font-size:2.4rem;line-height:1;margin:5px 0 7px;letter-spacing:-.04em}.project-lightbox-head p{margin:0;color:#70706b}.project-modal-count{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:#777;padding-top:10px}.project-modal-description{max-width:800px;color:#5d5d59;line-height:1.65;font-size:.9rem;margin:22px 0 28px}.project-modal-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.project-modal-gallery button{border:0;padding:0;background:none;cursor:zoom-in;overflow:hidden}.project-modal-gallery img{width:100%;height:290px;object-fit:cover;display:block;transition:transform .4s ease}.project-modal-gallery button:hover img{transform:scale(1.035)}
@media(max-width:850px){.project-grid{grid-template-columns:1fr}.project-cover{height:320px}.project-modal-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.project-lightbox{padding:12px}.project-lightbox-inner{padding:24px;min-height:calc(100vh - 24px)}.project-lightbox-head{flex-direction:column;gap:8px}.projects-section .work-intro{flex-direction:column;align-items:flex-start}}
@media(max-width:560px){.project-modal-gallery{grid-template-columns:1fr}.project-modal-gallery img{height:280px}.project-lightbox-head h2{font-size:1.8rem}}

/* =========================================================
   FELGRA — ORANGE / BLACK / GREY / WHITE EDITORIAL THEME
   ========================================================= */
:root{
  --bg:#f5f5f3;
  --surface:#ffffff;
  --ink:#111111;
  --muted:#6b6b67;
  --line:#d8d8d3;
  --orange:#ed6a16;
  --orange-dark:#c84f08;
  --orange-soft:#fff0e6;
  --black:#111111;
  --grey:#777773;
  --grey-light:#e9e9e6;
}
body{
  background:radial-gradient(circle at 88% 4%,rgba(237,106,22,.07),transparent 24%),var(--bg)!important;
  color:var(--ink)!important;
}
::selection{background:var(--orange);color:#fff}
.nav{background:rgba(255,255,255,.88)!important;border-color:rgba(17,17,17,.12)!important;box-shadow:0 8px 30px rgba(17,17,17,.06)}
.brand{color:var(--black)!important}.brand span{color:var(--orange)!important}
.nav-links a:hover{color:var(--orange)!important}.nav-cta{background:var(--orange)!important;color:#fff!important}.nav-cta:hover{background:var(--orange-dark)!important}
.icon-btn,.menu-btn{background:#fff!important;border-color:var(--line)!important}.icon-btn:hover,.menu-btn:hover{border-color:var(--orange)!important;color:var(--orange)!important}
.hero{background:radial-gradient(circle at 72% 24%,rgba(237,106,22,.16),transparent 24%),linear-gradient(135deg,#fafaf8 0%,#eeeeeb 62%,#deded9 100%)!important}
.eyebrow{color:var(--orange)!important}.pulse{background:var(--orange)!important;box-shadow:0 0 0 5px rgba(237,106,22,.15)!important}
.hero h1 em,.contact h2 em{color:var(--orange)!important}.hero-lead strong{color:var(--orange)!important}
.btn-dark,.btn-primary{background:var(--black)!important;border-color:var(--black)!important;color:#fff!important}.btn-dark:hover,.btn-primary:hover{background:var(--orange)!important;border-color:var(--orange)!important}
.btn-light,.btn-secondary{background:#fff!important;color:var(--black)!important;border-color:#bdbdb7!important}.btn-light:hover,.btn-secondary:hover{border-color:var(--orange)!important;color:var(--orange)!important}
.mini-proof{border-color:var(--line)!important}.mini-proof strong{color:var(--orange)!important}
.photo-frame{background:var(--black)!important;box-shadow:30px 30px 0 var(--orange)!important}.photo-frame img{filter:none!important}
.photo-tag{color:#fff!important}.photo-caption{color:#bdbdb7!important}.float-card{border-color:rgba(17,17,17,.12)!important;box-shadow:10px 10px 0 rgba(237,106,22,.18)!important}.float-card span{color:var(--orange)!important}
.marquee{background:var(--black)!important;color:#fff!important;border-top:3px solid var(--orange);border-bottom:3px solid var(--orange)}.marquee b{color:var(--orange)!important}
.section-head{border-color:var(--line)!important}.section-no{color:var(--orange)!important}.section-head h2{color:var(--black)!important}
.big-copy em{color:var(--orange)!important}.about-body{color:#555!important}.text-link{color:var(--black)!important;border-color:var(--orange)!important}.text-link:hover{color:var(--orange)!important}
.timeline{border-color:var(--line)!important}.job{border-color:var(--line)!important}.job:hover{background:var(--orange-soft)!important;border-left:4px solid var(--orange)}.job-year,.job-role{color:var(--orange)!important}.job h3{color:var(--black)!important}.job p{color:#5f5f5b!important}.round-arrow:hover{border-color:var(--orange)!important;color:var(--orange)!important}.chips span{border-color:#cfcfca!important;color:#666!important;background:#fff!important}
.project-card{background:#fff!important;border-color:var(--line)!important}.project-card:hover{border-color:var(--orange)!important;box-shadow:0 20px 55px rgba(237,106,22,.14)!important}.project-cover{background:#e6e6e2!important}.project-count{background:var(--orange)!important;color:#fff!important}.project-kicker{color:var(--orange)!important}.project-body h3{color:var(--black)!important}.project-body p{color:#777!important}.project-arrow{color:var(--orange)!important}
.skills-grid{border-color:var(--line)!important}.skill-card{background:#fff!important;border-color:var(--line)!important}.skill-card:hover{background:var(--black)!important;border-color:var(--orange)!important;box-shadow:0 20px 35px rgba(237,106,22,.14)!important}.skill-index,.skill-icon{color:var(--orange)!important}.skill-card h3{color:inherit!important}.skill-card p{color:#777!important}.skill-card:hover p{color:#bbb!important}
.tool-strip{border-color:var(--line)!important}.tool-label{color:var(--orange)!important}.tools span{background:var(--grey-light)!important;color:#444!important}.tools span:hover{background:var(--orange)!important;color:#fff!important}
.edu-card{background:linear-gradient(135deg,#111 0%,#1b1b1b 70%,#292929 100%)!important;border-left:8px solid var(--orange)}.edu-left span{color:var(--orange)!important}.edu-right .muted{color:#aaa!important}.edu-right strong{color:#fff!important}
.contact-grid{border-color:var(--line)!important}.contact-info>p{color:#666!important}.email-link{color:var(--black)!important;border-color:var(--orange)!important}.email-link:hover{color:var(--orange)!important}.contact-meta{color:#777!important}
.modal,.project-lightbox{background:rgba(10,10,10,.86)!important}.modal-box,.project-lightbox-inner{background:#fff!important;border-color:rgba(237,106,22,.28)!important}.modal-label,.project-modal-count{color:var(--orange)!important}.modal-close,.project-lightbox-close:hover{color:var(--orange)!important}.project-lightbox-head h2{color:var(--black)!important}.project-modal-description{color:#5d5d59!important}
footer{background:var(--black)!important;color:#fff!important;border-top:4px solid var(--orange)}footer a:hover{color:var(--orange)!important}
::-webkit-scrollbar-track{background:#e8e8e5!important}::-webkit-scrollbar-thumb{background:var(--orange)!important}::-webkit-scrollbar-thumb:hover{background:var(--orange-dark)!important}
@media(max-width:600px){.photo-frame{box-shadow:16px 16px 0 var(--orange)!important}.job:hover{padding-left:12px}}


/* =========================================================
   FINAL PALETTE — GREY BACKGROUND / ORANGE + WHITE + BLACK
   ========================================================= */
:root{--bg:#8d8d89;--surface:#ffffff;--ink:#111111;--muted:#ecece9;--line:#b9b9b4;--orange:#f26b18;--orange-dark:#c9520a;--orange-soft:#fff0e6;--black:#111111;--grey:#686864;--grey-light:#eeeeeb}
html{background:#8d8d89!important}
body{background:#8d8d89!important;color:#111!important}
.hero{background:linear-gradient(135deg,#a2a29e 0%,#858581 100%)!important}
.section{background:transparent!important}
.nav{background:rgba(255,255,255,.96)!important;border-color:#b9b9b4!important}
.section-head{border-color:#b9b9b4!important}
.collab-card,.work-card,.skill-card,.timeline-card,.contact-card,.project-card{background:#fff!important}
.project-cover{background:#777773!important}
.marquee{background:#111!important;color:#fff!important;border-color:#f26b18!important}
.edu-card{background:#111!important;border-left-color:#f26b18!important}
.source-note{background:#fff!important;border-color:#b9b9b4!important}
.photo-frame{background:#111!important;box-shadow:30px 30px 0 #f26b18!important}
.float-card{background:#fff!important;border-color:#111!important}
.btn-primary,.btn-dark{background:#111!important;color:#fff!important;border-color:#111!important}
.btn-primary:hover,.btn-dark:hover{background:#f26b18!important;border-color:#f26b18!important}
.btn-secondary,.btn-light{background:#fff!important;color:#111!important;border-color:#111!important}
.btn-secondary:hover,.btn-light:hover{background:#f26b18!important;color:#fff!important;border-color:#f26b18!important}
.project-card:hover,.collab-card:hover,.skill-card:hover{border-color:#f26b18!important}
footer{background:#111!important;border-top:4px solid #f26b18!important;color:#fff!important}
@media(max-width:600px){.photo-frame{box-shadow:16px 16px 0 #f26b18!important}}

/* =========================================================
   HERO READABILITY — WHITE TEXT ON GREY BACKGROUND
   ========================================================= */
.hero-lead{color:#ffffff!important;text-shadow:0 1px 1px rgba(17,17,17,.08)}
.hero-lead strong{color:#f26b18!important}
.mini-proof span{color:#ffffff!important;opacity:.9}
.mini-proof strong{color:#f26b18!important}

/* --- Contact info readability --- */
.contact-info>p,.contact-meta,.contact-meta span{color:#111111!important;opacity:1!important}
.email-link{color:#111111!important}
