/* Nigel D'Silva — independent visual identity; no framework or remote fonts. */
:root{--paper:#f6f6f3;--white:#fff;--ink:#222823;--muted:#656d65;--line:#d9ded6;--green:#426447;--pale:#e8eee3;--radius:24px;--max:1160px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--green);outline-offset:6px;border-radius:4px}::selection{background:#d2dfc4;color:#222823}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:550;letter-spacing:-.045em}p{line-height:1.7}a,button,summary{touch-action:manipulation}.wrap{width:min(var(--max),calc(100% - 96px));margin-inline:auto}.muted{color:var(--muted)}.brand-dot{color:var(--green)}.skip-link{position:fixed;top:12px;left:12px;padding:12px 20px;background:var(--ink);color:#fff;z-index:100;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.site-header{position:sticky;top:0;z-index:20;background:rgba(246,246,243,.94);border-bottom:1px solid rgba(217,222,214,.75);backdrop-filter:blur(18px)}.nav-wrap{width:min(var(--max),calc(100% - 96px));margin:auto;min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}.wordmark{font-size:38px;line-height:1;font-weight:650;letter-spacing:-4px;padding-right:8px}nav{display:flex;align-items:center;gap:29px}nav a{font-size:13px;font-weight:500;min-height:44px;display:inline-flex;align-items:center;gap:24px}nav a:hover,.text-link:hover,.back-top:hover{color:var(--green)}nav .nav-resume{border:1px solid #cbd2c7;border-radius:30px;padding:0 19px}.menu-toggle{border:1px solid var(--line);border-radius:24px;padding:10px 16px;background:transparent;min-height:44px}.menu-toggle[hidden]{display:none}
.hero{padding-top:83px;display:grid;grid-template-columns:1.25fr 1fr;gap:50px 55px;align-items:center}.eyebrow{font-size:10px;font-weight:650;letter-spacing:.14em;line-height:1.5}.hero .eyebrow{font-size:10px;display:flex;align-items:center;gap:9px;text-transform:uppercase;margin-bottom:27px}.tiny-dot{width:6px;height:6px;background:var(--green);display:inline-block;border-radius:50%;flex:none}h1{font-size:clamp(44px,4.95vw,70px);line-height:1.05;letter-spacing:-.062em}h1 span{color:var(--green)}.hero-intro{font-size:16px;max-width:442px;color:var(--muted);margin-top:28px}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:34px}.button{display:inline-flex;align-items:center;gap:24px;min-height:49px;padding:14px 23px;border-radius:28px;font-size:12px;font-weight:600}.primary{background:var(--ink);color:#fff;transition:background .2s,transform .2s}.primary:hover{background:var(--green);transform:translateY(-2px)}.text-link{font-size:12px;font-weight:550;min-height:44px;display:inline-flex;align-items:center;gap:12px}.hero-art{height:463px;background:#24352c;border-radius:var(--radius);color:#e0e7d5;position:relative;overflow:hidden;isolation:isolate;background-image:radial-gradient(ellipse at 55% 45%,#55705455,transparent 65%)}.art-top{position:absolute;inset:27px 27px auto;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.14em;color:#bfccba}.art-bottom{position:absolute;inset:auto 27px 25px;display:flex;align-items:end;justify-content:space-between;font-size:12px;line-height:1.5}.art-arrow{font-size:30px;font-weight:300}.orbital{position:absolute;inset:58px 16px 65px;display:grid;place-items:center}.orbit{position:absolute;width:220px;height:280px;border:1px solid #b3c3a94a;border-radius:50%}.orbit-one{transform:rotate(-48deg)}.orbit-two{transform:rotate(48deg)}.orbit-three{transform:rotate(90deg);height:308px;width:195px}.orb-core{width:120px;height:120px;border-radius:50%;background:radial-gradient(circle at 30% 20%,#d9e5c7,#7c9772 58%,#425c46);box-shadow:inset -6px -10px 25px #20392e55,0 15px 50px #101d2440;display:grid;place-items:center;font-size:67px;letter-spacing:-8px;padding-right:9px;font-weight:500;color:#294031;transform:rotate(-9deg)}.orbit-label{position:absolute;font-size:9px;letter-spacing:.07em;border:1px solid #82937c60;padding:8px 13px;border-radius:20px;background:#293e32}.label-commerce{top:42px;left:22px}.label-data{right:6px;top:150px}.label-automation{left:49px;bottom:31px}.satellite{position:absolute;top:33px;right:77px;width:9px;height:9px;border-radius:50%;background:#d2ddb4;box-shadow:0 0 14px #c7dfaa50}.hero-foot{grid-column:1/-1;display:flex;justify-content:space-between;color:var(--muted);font-size:10px;padding-top:7px;padding-bottom:26px;border-bottom:1px solid var(--line)}.hero-foot a{display:inline-flex;gap:20px;align-items:center;min-height:44px}.section{padding-top:96px;padding-bottom:96px}.section-label{display:flex;align-items:center;gap:25px;font-size:10px;letter-spacing:.15em;font-weight:600;margin-bottom:39px}.section-line{height:1px;flex:1;background:var(--line)}h2{font-size:clamp(34px,3.6vw,47px);line-height:1.1}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px}.about-copy{font-size:15px;color:var(--muted);padding-top:3px}.about-copy p+p{margin-top:20px}.about-copy .about-signoff{color:var(--ink);font-size:13px;font-weight:550}.experience-section{background:#eef0e9}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:43px}.section-heading>p{max-width:300px;font-size:14px;color:var(--muted)}.experience-row{display:grid;grid-template-columns:1fr 1fr;gap:85px;padding:35px 0;border-top:1px solid #cdd4c7;border-bottom:1px solid #cdd4c7}.company{display:flex;gap:18px;align-items:flex-start}.company-symbol{display:grid;place-items:center;background:var(--ink);color:#fff;border-radius:14px;width:54px;height:54px;font-size:25px;font-weight:550}.company h3{font-size:27px;letter-spacing:-.04em;line-height:1.15;margin-bottom:7px}.company p{font-size:12px;color:var(--muted)}.experience-copy>p{font-size:14px;color:var(--muted)}.focus-list{display:flex;flex-wrap:wrap;gap:10px 20px;font-size:11px;font-weight:550;margin-top:24px}.experience-note{display:flex;gap:18px;margin-top:22px;font-size:12px;color:var(--muted)}.experience-note>span{font-size:20px;line-height:1.2}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.project-card{background:var(--white);border:1px solid #e3e6df;border-radius:var(--radius);overflow:hidden}.project-visual{height:290px;overflow:hidden;display:grid;place-items:center;padding:32px}.commerce-visual{background:#e8eddf}.mini-board{width:100%;max-width:360px;padding:21px 24px;background:#fafbf6;border-radius:13px;box-shadow:0 16px 30px #324b2c0c;transform:rotate(-3deg)}.mini-top{display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:.09em;color:#66735e}.mini-top span:last-child{font-size:17px}.chart-caption{font-size:26px;letter-spacing:-1px;margin:14px 0 13px}.chart-art{width:100%;height:83px;overflow:visible}.chart-grid{fill:none;stroke:#e0e5d8;stroke-width:1}.chart-line{fill:none;stroke:#63804a;stroke-width:2.5}.chart-fill{fill:#dce6cc88}.mini-bottom{display:flex;justify-content:space-between;color:#69745f;font-size:8px;margin-top:12px}.platform-visual{background:#e9e9e4}.platform-window{width:100%;max-width:370px;background:#fafaf8;border:1px solid #daddd4;border-radius:12px;box-shadow:0 20px 35px #272b2a12;transform:rotate(3deg);position:relative;overflow:hidden}.window-bar{display:flex;justify-content:space-between;font-size:7px;letter-spacing:.1em;padding:11px 15px;border-bottom:1px solid #e5e7df;color:#6d7768}.window-dots{color:#a0aa97;letter-spacing:3px}.platform-content{padding:19px 24px 24px;position:relative;z-index:1}.platform-icon{color:#5f7c47;font-size:28px;display:block;line-height:1;margin-bottom:10px}.platform-content strong{display:block;font-size:26px;line-height:1.15;letter-spacing:-1px;font-weight:550}.mock-button{font-size:8px;background:#314935;color:white;border-radius:20px;padding:9px 13px;width:143px;margin-top:16px;display:flex;justify-content:space-between}.mock-tile{position:absolute;width:80px;height:105px;background:#dbe2cf;border-radius:40px 40px 8px 8px;right:20px;bottom:-14px;transform:rotate(17deg)}.tile-two{right:-34px;bottom:36px;background:#b6c5a4;transform:rotate(-12deg)}.project-body{padding:29px 31px 22px}.project-body>.eyebrow{color:var(--green);font-size:9px}.project-body h3{font-size:27px;margin:12px 0;line-height:1.15}.project-body>p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:1.75}.tags{display:flex;flex-wrap:wrap;gap:7px;list-style:none;margin:22px 0 24px;padding:0}.tags li{font-size:9px;border:1px solid #dce1d8;border-radius:20px;padding:6px 10px;line-height:1.3;color:#596252}details{border-top:1px solid #e5e8e1}summary{min-height:48px;padding:17px 0 4px;cursor:pointer;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:space-between;gap:15px;list-style:none}summary::-webkit-details-marker{display:none}summary span{font-size:20px;font-weight:400;transition:transform .2s}details[open] summary span{transform:rotate(45deg)}.detail-copy{padding:13px 0 8px;color:var(--muted);font-size:13px}.detail-copy .small{font-size:11px;margin-top:13px}.lab-card{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.lab-card .project-visual{height:auto;min-height:330px;order:2}.lab-card .project-body{padding:38px 36px 25px;order:1}.lab-visual{background:#25372d;color:#d3ddcb}.lab-diagram{width:min(310px,100%);display:flex;flex-direction:column;align-items:center;font-size:10px}.lab-node{border:1px solid #75897065;border-radius:10px;padding:12px 23px;background:#304739}.network-line{height:20px;width:1px;background:#7d936b}.private-network{font-size:7px;letter-spacing:.19em;color:#b8c6ad;padding:4px 0}.lab-server{border:1px solid #91a27f88;background:linear-gradient(110deg,#466247,#2f4536);box-shadow:0 10px 25px #15291b33;border-radius:12px;display:flex;align-items:center;gap:17px;padding:22px;width:100%}.server-light{width:5px;height:5px;background:#c5dfa1;border-radius:50%;box-shadow:0 0 8px #ceeaaa55}.server-lines{margin-left:auto;font-size:22px;color:#a8bb96}.lab-tools{display:flex;gap:28px;margin-top:14px;color:#bdcbb3;font-size:9px}.skills-section{background:#eef0e9}.skills-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:35px}.skill-group{border-top:1px solid #cdd4c7;padding-top:24px}.skill-number{font-size:10px;color:var(--green)}.skill-group h3{font-size:22px;letter-spacing:-.03em;margin:25px 0 15px}.skill-group p{font-size:12px;margin-bottom:9px;color:var(--ink)}.skill-group>span:last-child{font-size:11px;color:var(--muted);line-height:1.6;display:block}.closing{padding-bottom:85px}.closing-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:80px;align-items:center}.contact-intro{max-width:370px;color:var(--muted);font-size:14px;margin:23px 0}.contact-placeholder{font-size:12px;display:flex;align-items:center;gap:10px;color:var(--muted)}.resume-card{position:relative;background:#e7ecdf;border:1px solid #d8dfd0;border-radius:20px;padding:31px;scroll-margin-top:110px}.resume-icon{position:absolute;right:26px;top:24px;font-size:25px;color:var(--green)}.resume-card .eyebrow{color:var(--green);font-size:9px}.resume-card h3{font-size:32px;margin:18px 0 12px}.resume-card>p:not(.eyebrow){font-size:12px;color:var(--muted);max-width:260px}.resume-status{display:inline-block;border:1px solid #c4cfba;border-radius:20px;font-size:10px;padding:8px 13px;margin-top:23px;color:#506047}.site-footer{border-top:1px solid var(--line);padding:27px 0 30px;display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-name{font-weight:600;font-size:16px;letter-spacing:-.05em}.site-footer p,.back-top{font-size:10px;color:var(--muted)}.back-top{min-height:44px;display:inline-flex;align-items:center;gap:13px}
@media(min-width:1400px){.hero{padding-top:94px}.hero-art{height:480px}}
@media(max-width:1000px){.wrap,.nav-wrap{width:calc(100% - 64px)}nav{gap:20px}.hero{gap:40px 32px}.hero-art{height:430px}.hero-actions{gap:15px}.hero-intro{font-size:15px}.orbit{width:180px;height:238px}.orbit-three{height:260px;width:165px}.orbit-label{font-size:8px}.label-commerce{left:6px;top:42px}.label-data{right:0;top:144px}.label-automation{left:22px;bottom:29px}.orb-core{width:104px;height:104px;font-size:60px}.about-grid,.experience-row{gap:45px}.closing-grid{gap:45px}.project-visual{height:260px;padding:24px}.skills-grid{gap:24px}.skill-group h3{font-size:19px}}
@media(max-width:760px){html{scroll-padding-top:88px}.wrap,.nav-wrap{width:calc(100% - 40px)}.nav-wrap{min-height:70px;flex-wrap:wrap;gap:0}.wordmark{font-size:34px}.menu-toggle:not([hidden]){display:block}nav{width:100%;gap:4px 18px;justify-content:flex-start;flex-wrap:wrap;padding:8px 0 17px}nav a{font-size:12px;min-height:44px}.js nav:not(.is-open){display:none}.js nav.is-open{display:flex}.hero{padding-top:48px;grid-template-columns:1fr;gap:36px}.hero .eyebrow{font-size:9px;margin-bottom:25px}h1{font-size:clamp(44px,9vw,65px);letter-spacing:-.06em}.hero-intro{font-size:15px;max-width:450px;margin-top:24px}.hero-actions{margin-top:27px;gap:24px}.hero-art{height:360px;max-width:none}.orbital{inset:30px 30px 45px}.orbit{width:180px;height:225px}.orbit-three{height:255px;width:155px}.label-commerce{top:48px;left:13%}.label-data{top:122px;right:9%}.label-automation{bottom:28px;left:21%}.satellite{top:38px;right:28%}.art-top{inset:23px 23px auto;font-size:8px}.art-bottom{inset:auto 23px 21px;font-size:10px}.hero-foot{font-size:9px;gap:18px;padding-bottom:15px;padding-top:0}.hero-foot a{gap:8px;white-space:nowrap}.section{padding-top:64px;padding-bottom:64px}.section-label{font-size:9px;margin-bottom:30px;gap:16px}h2{font-size:36px}.about-grid,.experience-row,.closing-grid{grid-template-columns:1fr;gap:29px}.about-copy{font-size:14px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:19px;max-width:350px;font-size:13px}.experience-row{padding:27px 0}.experience-note{font-size:11px}.project-grid{grid-template-columns:1fr;gap:22px}.project-visual{height:270px;padding:27px}.project-body{padding:26px 26px 21px}.project-body h3{font-size:26px}.lab-card{display:flex;flex-direction:column}.lab-card .project-visual{order:0;min-height:280px}.lab-card .project-body{order:1;padding:26px 26px 21px}.skills-grid{grid-template-columns:1fr;gap:28px}.skill-group{padding-top:21px}.skill-group h3{font-size:22px;margin:14px 0 10px}.skill-group p{font-size:13px}.skill-group>span:last-child{font-size:12px}.closing-grid{gap:35px}.resume-card{padding:29px}.site-footer{flex-wrap:wrap;gap:8px 20px;padding:25px 0}.site-footer p{order:3;width:100%;font-size:10px}.back-top{margin-left:auto}}
@media(max-width:370px){.hero-actions{gap:14px}.button{padding:13px 17px;gap:13px;font-size:11px}.text-link{font-size:11px;gap:6px}.label-commerce{left:4%}.label-data{right:1%}h2{font-size:32px}.hero-foot{font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media(forced-colors:active){.project-card,.resume-card,.hero-art{border:1px solid CanvasText}.tiny-dot{background:CanvasText}.primary{border:1px solid ButtonText}.hero-art{forced-color-adjust:none}}
@media print{.site-header,.hero-art,.hero-foot,.project-visual,.hero-actions,.back-top{display:none}.wrap{width:100%}.hero,.about-grid,.experience-row,.closing-grid{display:block}.hero{padding-top:0}h1{font-size:40px}h2{font-size:28px}.section{padding:25px 0}.project-grid{display:block}.project-card,.resume-card{break-inside:avoid;margin-bottom:16px}.hero-intro{max-width:none}.section-label{margin-bottom:15px}.about-copy{margin-top:20px}body{background:#fff}}
