/* Abdulsalam Portfolio — responsive design system */
:root{color-scheme:dark;--bg:#101418;--bg-soft:#151b20;--panel:#192127;--panel-2:#202a31;--text:#f1f3ef;--muted:#a1aaa9;--faint:#6e7a7b;--line:rgba(222,235,230,.12);--accent:#b8f36b;--accent-strong:#a5e94f;--accent-ink:#182112;--header:rgba(16,20,24,.82);--shadow:0 24px 70px rgba(0,0,0,.18);--radius:18px;--font-body:"DM Sans",sans-serif;--font-display:"Manrope",sans-serif;--container:1160px}
:root[data-theme="light"]{color-scheme:light;--bg:#f5f6f1;--bg-soft:#ecefe8;--panel:#fff;--panel-2:#e9eee5;--text:#18201e;--muted:#596560;--faint:#78837e;--line:rgba(24,32,30,.13);--accent:#5d8c2d;--accent-strong:#4d7924;--accent-ink:#fff;--header:rgba(245,246,241,.86);--shadow:0 24px 70px rgba(26,40,30,.09)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:15px;line-height:1.7;overflow-x:hidden;transition:background .25s,color .25s}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:4px}::selection{background:var(--accent);color:var(--accent-ink)}.container{width:min(var(--container),calc(100% - 56px));margin-inline:auto}.section{position:relative;padding:112px 0}.skip-link{position:absolute;left:12px;top:-60px;background:var(--accent);color:var(--accent-ink);padding:10px 14px;z-index:999}.skip-link:focus{top:12px}.site-header{position:sticky;top:0;z-index:100;background:var(--header);border-bottom:1px solid var(--line);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.nav-wrap{min-height:78px;display:flex;align-items:center;gap:28px}.brand{display:inline-flex;align-items:center;gap:11px;font-family:var(--font-display);font-size:11px;letter-spacing:.16em;font-weight:800;line-height:1.3;white-space:nowrap}.brand-mark{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:11px;font-size:21px;letter-spacing:-.08em}.brand-mark span,.hero-period,.objective-mark span{color:var(--accent)}.brand-sub{display:block;color:var(--faint);font-size:8px;letter-spacing:.17em;margin-top:4px}.nav{display:flex;align-items:center;gap:26px;margin-left:auto}.nav>a{font-size:12px;color:var(--muted);transition:color .2s}.nav>a:hover{color:var(--text)}.nav .nav-contact{padding:10px 14px;border:1px solid var(--line);border-radius:7px;color:var(--text)}.nav-contact span{color:var(--accent);margin-left:7px}.theme-toggle,.menu-toggle{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--text);cursor:pointer}.theme-icon{font-size:20px;line-height:1}.menu-toggle{display:none}.hero{min-height:calc(100svh - 78px);padding:84px 0 32px;display:flex;flex-direction:column;justify-content:center;overflow:hidden}.hero-grid{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to right,transparent 5%,black 65%,transparent 100%);opacity:.26}.hero-layout{display:grid;grid-template-columns:1.04fr .96fr;align-items:center;gap:48px;position:relative;z-index:1}.availability{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:100px;padding:7px 11px;font-size:9px;font-weight:700;letter-spacing:.14em;color:var(--muted);margin-bottom:28px}.status-dot,.live-dot{width:7px;height:7px;background:var(--accent);border-radius:50%;box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 14%,transparent)}.eyebrow{font-size:10px;letter-spacing:.18em;font-weight:700;color:var(--accent);margin:0 0 18px}.hero h1,.section-heading h2,.contact-copy h2{font-family:var(--font-display);font-weight:700;letter-spacing:-.065em;line-height:1.06}.hero h1{font-size:clamp(48px,6.1vw,82px);margin:0;max-width:680px}.hero-outline{color:transparent;-webkit-text-stroke:1px var(--muted);text-stroke:1px var(--muted)}.hero-description{color:var(--muted);max-width:500px;font-size:15px;line-height:1.9;margin:26px 0 28px}.separator{color:var(--accent);padding:0 4px}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:0 18px;border-radius:7px;font-weight:700;font-size:12px;border:1px solid transparent;cursor:pointer;transition:transform .2s,background .2s,border-color .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--accent);color:var(--accent-ink)}.button-primary:hover{background:var(--accent-strong)}.button-quiet{border-color:var(--line);color:var(--text)}.button-quiet:hover{border-color:var(--accent)}.button span{font-size:16px}.hero-meta{display:flex;gap:24px;flex-wrap:wrap;margin-top:48px;color:var(--faint);font-size:10px}.hero-meta>span:first-child{display:flex;align-items:center;gap:9px}.meta-line{height:1px;width:24px;background:var(--accent)}.hero-art{height:500px;position:relative;display:grid;place-items:center;isolation:isolate}.hero-art:before{content:"";position:absolute;width:310px;height:310px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 13%,transparent),transparent 70%);filter:blur(10px)}.art-orbit{position:absolute;border:1px solid color-mix(in srgb,var(--accent) 27%,var(--line));border-radius:50%;transform:rotate(-28deg)}.orbit-one{width:380px;height:240px}.orbit-two{width:300px;height:410px;transform:rotate(42deg)}.art-core{width:178px;height:178px;border:1px solid color-mix(in srgb,var(--accent) 65%,var(--line));border-radius:42px;transform:rotate(-9deg);background:linear-gradient(145deg,var(--panel-2),var(--bg-soft));box-shadow:0 0 70px color-mix(in srgb,var(--accent) 10%,transparent),inset 0 0 35px color-mix(in srgb,var(--accent) 7%,transparent);display:flex;align-items:center;justify-content:center;gap:5px;z-index:1}.core-a{font-family:var(--font-display);font-size:80px;font-weight:800;letter-spacing:-.12em;transform:rotate(9deg)}.core-bracket{color:var(--accent);font-size:23px;font-weight:600;transform:rotate(9deg)}.art-cross{position:absolute;width:11px;height:11px}.art-cross:before,.art-cross:after{content:"";position:absolute;background:var(--accent)}.art-cross:before{width:1px;height:11px;left:5px}.art-cross:after{height:1px;width:11px;top:5px}.cross-one{top:65px;left:22%}.cross-two{bottom:85px;right:16%}.float-card{position:absolute;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);z-index:2}.card-code{left:0;top:112px;width:166px;padding:14px 15px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:5px}.mini-label{font-size:8px;letter-spacing:.17em;color:var(--faint);grid-column:1/-1}.code-glyph{font-family:monospace;color:var(--accent);font-size:31px;grid-column:2;grid-row:2/4}.card-code>span:last-child{font-size:10px;color:var(--muted);grid-column:1}.card-network{right:-4px;bottom:112px;display:flex;align-items:center;gap:11px;padding:13px 14px}.signal-icon{width:35px;height:35px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 12%,var(--panel));border-radius:8px;color:var(--accent);font-size:25px}.card-network b,.card-network small{display:block}.card-network b{font-size:11px}.card-network small{font-size:9px;color:var(--muted);margin-top:3px}.card-network .live-dot{margin-left:6px}.art-caption{position:absolute;bottom:24px;left:0;right:0;display:flex;justify-content:space-between;gap:10px;font-size:8px;letter-spacing:.15em;color:var(--faint)}.hero-bottom{display:flex;align-items:center;gap:14px;margin-top:36px;font-size:8px;letter-spacing:.16em;color:var(--faint)}.scroll-track{height:1px;width:80px;background:var(--line);position:relative;overflow:hidden}.scroll-track span{position:absolute;left:0;top:0;width:35%;height:1px;background:var(--accent);animation:scrollbar 2s ease-in-out infinite}.hero-bottom-right{margin-left:auto}.section-heading{margin-bottom:48px}.section-heading h2,.contact-copy h2{font-size:clamp(36px,4.6vw,58px);margin:0}.muted-heading{color:var(--muted)}.section-heading-row{display:flex;align-items:end;justify-content:space-between;gap:28px}.heading-note{max-width:270px;color:var(--muted);font-size:13px;margin:0 0 5px}.about-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(40px,8vw,110px);align-items:center}.portrait-panel{max-width:390px}.portrait-frame{position:relative;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.portrait-placeholder{min-height:390px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 40%,color-mix(in srgb,var(--accent) 17%,var(--panel)),transparent 65%),linear-gradient(135deg,var(--panel-2),var(--bg-soft));border-radius:10px}.portrait-placeholder:before,.portrait-placeholder:after{content:"";position:absolute;border:1px solid var(--line);border-radius:50%;width:270px;height:270px}.portrait-placeholder:after{width:340px;height:340px}.portrait-monogram{font-family:var(--font-display);font-size:130px;line-height:1;font-weight:800;letter-spacing:-.13em;z-index:1;color:var(--text)}.portrait-monogram span{color:var(--accent)}.portrait-note{position:absolute;bottom:22px;left:22px;color:var(--faint);font-size:8px;letter-spacing:.16em;line-height:1.7}.frame-index{position:absolute;top:25px;right:25px;font-size:8px;letter-spacing:.14em;color:var(--muted)}.portrait-caption{display:flex;justify-content:space-between;align-items:center;padding:14px 3px;color:var(--muted);font-size:11px}.caption-mark{color:var(--accent);font-size:21px}.about-copy{max-width:650px}.about-copy p{color:var(--muted);font-size:13px;line-height:1.95;margin:0 0 17px}.about-copy .lead{font-family:var(--font-display);font-size:clamp(21px,2.4vw,29px);font-weight:600;letter-spacing:-.04em;line-height:1.45;color:var(--text);margin-bottom:22px}.text-link{display:inline-flex;gap:24px;align-items:center;color:var(--accent);font-size:12px;font-weight:700;margin-top:12px}.text-link span{font-size:17px}.skills-section{background:var(--bg-soft)}.skills-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.skill-card{min-width:0;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:22px 19px;transition:transform .25s,border-color .25s}.skill-card:hover,.service-card:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--accent) 50%,var(--line))}.skill-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}.skill-number{font-size:9px;color:var(--faint);letter-spacing:.1em}.skill-symbol{color:var(--accent);font-size:26px}.skill-card h3,.service-card h3{font-family:var(--font-display);font-size:16px;letter-spacing:-.03em;margin:0 0 10px}.skill-card p,.service-card p{font-size:11px;line-height:1.8;color:var(--muted);margin:0 0 20px}.tags{display:flex;flex-wrap:wrap;gap:6px}.tags span{font-size:9px;color:var(--muted);border:1px solid var(--line);border-radius:5px;padding:4px 7px}.tools-strip{display:flex;align-items:center;gap:28px;border-top:1px solid var(--line);margin-top:28px;padding-top:22px}.tools-label{font-size:9px;letter-spacing:.14em;color:var(--faint);white-space:nowrap}.tool-list{display:flex;flex-wrap:wrap;gap:10px 24px}.tool-list span{font-size:11px;color:var(--muted)}.projects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.project-card{min-width:0;border:1px solid var(--line);border-radius:13px;overflow:hidden;background:var(--panel);transition:transform .25s,border-color .25s,box-shadow .25s}.project-card:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--accent) 45%,var(--line));box-shadow:var(--shadow)}.project-visual{height:255px;position:relative;overflow:hidden;background:var(--panel-2)}.visual-top,.visual-bottom{position:absolute;left:20px;right:20px;display:flex;justify-content:space-between;gap:10px;font-size:8px;letter-spacing:.13em;color:var(--muted);z-index:2}.visual-top{top:17px}.visual-bottom{bottom:16px;color:var(--faint)}.visual-status{color:var(--accent)}.pdf-visual{background:radial-gradient(ellipse at 50% 55%,color-mix(in srgb,var(--accent) 12%,var(--panel-2)),transparent 65%),var(--panel-2)}.pdf-stack{position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);width:160px;height:150px}.pdf-page{position:absolute;width:95px;height:124px;border:1px solid color-mix(in srgb,var(--accent) 40%,var(--line));border-radius:5px;background:var(--panel);box-shadow:0 12px 25px rgba(0,0,0,.15)}.page-back{left:14px;top:5px;transform:rotate(-13deg);opacity:.55}.page-front{left:47px;top:13px;transform:rotate(8deg);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:9px}.pdf-fold{position:absolute;right:0;top:0;border-left:18px solid transparent;border-bottom:18px solid color-mix(in srgb,var(--accent) 25%,var(--panel-2))}.pdf-file-icon{font-family:var(--font-display);font-weight:800;color:var(--accent);font-size:26px;letter-spacing:-.06em}.pdf-page-lines{width:43px;height:22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:relative}.pdf-page-lines:after{content:"";position:absolute;top:10px;left:0;right:9px;border-top:1px solid var(--line)}.pdf-spark{position:absolute;right:0;top:5px;width:35px;height:35px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:var(--accent-ink);font-size:17px}.net-visual{background:radial-gradient(ellipse at center,color-mix(in srgb,var(--accent) 10%,var(--panel-2)),transparent 70%),var(--panel-2)}.network-map{position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);width:280px;height:155px}.node{position:absolute;z-index:1;display:grid;place-items:center;text-align:center;width:58px;height:45px;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--line));border-radius:8px;background:var(--panel);font-size:8px;letter-spacing:.08em;color:var(--text)}.node-main{left:calc(50% - 29px);top:0;background:var(--accent);color:var(--accent-ink);font-weight:800}.node-a{left:0;bottom:0}.node-b{right:0;bottom:0}.node-c{left:calc(50% - 29px);bottom:-7px;transform:translateY(10px)}.link{position:absolute;height:1px;background:var(--accent);transform-origin:left center;opacity:.65}.link-a{width:87px;left:50%;top:44px;transform:rotate(145deg)}.link-b{width:87px;left:50%;top:44px;transform:rotate(35deg)}.link-c{width:50px;left:50%;top:44px;transform:rotate(90deg)}.station-visual{background:radial-gradient(ellipse at 60% 45%,color-mix(in srgb,var(--accent) 10%,var(--panel-2)),transparent 70%),var(--panel-2)}.station-ui{position:absolute;left:50%;top:52%;transform:translate(-50%,-50%) rotate(-2deg);width:270px;height:150px;border:1px solid var(--line);border-radius:8px;background:var(--panel);display:flex;overflow:hidden;box-shadow:0 15px 35px rgba(0,0,0,.12)}.station-sidebar{width:37px;background:color-mix(in srgb,var(--accent) 10%,var(--panel));border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:center;gap:13px;padding-top:18px}.station-sidebar i{width:12px;height:3px;background:var(--faint);border-radius:3px}.station-sidebar i:first-child{background:var(--accent)}.station-content{flex:1;padding:15px}.station-heading{font-size:9px;font-weight:700}.station-stat-row{display:flex;gap:6px;margin-top:12px}.station-stat-row i{height:23px;flex:1;border:1px solid var(--line);border-radius:3px;background:var(--panel-2)}.station-chart{height:35px;display:flex;align-items:end;gap:7px;border-bottom:1px solid var(--line);margin-top:8px;padding:0 6px}.station-chart span{width:13px;background:color-mix(in srgb,var(--accent) 70%,var(--panel));border-radius:2px 2px 0 0}.station-chart span:nth-child(1){height:35%}.station-chart span:nth-child(2){height:60%}.station-chart span:nth-child(3){height:48%}.station-chart span:nth-child(4){height:80%}.station-chart span:nth-child(5){height:55%}.station-chart span:nth-child(6){height:92%}.station-chart span:nth-child(7){height:68%}.station-lines{display:flex;gap:8px;margin-top:9px}.station-lines i{height:3px;background:var(--line);width:28%;border-radius:4px}.project-info{padding:22px}.project-category{font-size:9px;letter-spacing:.15em;color:var(--accent);margin-bottom:7px}.project-info h3{font-family:var(--font-display);font-size:22px;letter-spacing:-.04em;margin:0 0 9px}.project-info p{font-size:12px;line-height:1.8;color:var(--muted);margin:0 0 18px;max-width:520px}.project-foot{display:flex;justify-content:space-between;align-items:center;gap:10px}.project-arrow{font-size:20px;color:var(--accent)}.project-text-link{font-size:10px;font-weight:700;color:var(--accent);white-space:nowrap}.project-custom{display:flex;flex-direction:column;justify-content:space-between;min-height:100%}.custom-project-mark{flex:1;min-height:255px;background:linear-gradient(140deg,var(--panel-2),var(--panel));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;position:relative;overflow:hidden}.custom-project-mark:before,.custom-project-mark:after{content:"";position:absolute;width:240px;height:240px;border:1px solid var(--line);border-radius:50%}.custom-project-mark:after{width:330px;height:330px}.custom-project-mark span{font-size:8px;letter-spacing:.2em;color:var(--muted);z-index:1}.custom-project-mark strong{width:55px;height:55px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink);font-size:24px;z-index:1}.project-disclaimer{font-size:10px;color:var(--faint);margin:20px 0 0}.journey-section{background:var(--bg-soft)}.journey-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(45px,9vw,120px)}.journey-intro{color:var(--muted);font-size:13px;line-height:1.9;max-width:330px;margin-top:25px}.timeline{border-left:1px solid var(--line);padding-left:30px}.timeline-item{position:relative;padding:0 0 34px 0}.timeline-item:last-child{padding-bottom:0}.timeline-dot{position:absolute;left:-35px;top:4px;width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px var(--bg-soft);border:1px solid var(--accent)}.timeline-meta{display:flex;justify-content:space-between;gap:15px;color:var(--faint);font-size:8px;letter-spacing:.14em;margin-bottom:10px}.timeline-meta span:last-child{color:var(--accent)}.timeline-item h3{font-family:var(--font-display);font-size:18px;letter-spacing:-.03em;margin:0 0 8px}.timeline-item p{font-size:12px;color:var(--muted);line-height:1.85;margin:0;max-width:560px}.services-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.service-card{position:relative;min-width:0;display:flex;flex-direction:column;align-items:flex-start;padding:23px 20px 20px;border:1px solid var(--line);border-radius:12px;background:var(--panel);transition:transform .25s,border-color .25s}.service-number{font-size:9px;letter-spacing:.1em;color:var(--faint)}.service-icon{height:46px;width:46px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 10%,var(--panel));border-radius:10px;color:var(--accent);font-size:23px;margin:27px 0 20px}.service-card h3{font-size:15px;min-height:42px}.service-card p{flex:1}.service-card>a{font-size:10px;font-weight:700;color:var(--accent);margin-top:8px}.service-card>a span{margin-left:9px;font-size:15px}.objective-section{padding-top:10px}.objective-panel{position:relative;overflow:hidden;padding:clamp(30px,6vw,72px);border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));border-radius:17px;background:linear-gradient(125deg,color-mix(in srgb,var(--accent) 8%,var(--panel)),var(--panel));isolation:isolate}.objective-orbit{position:absolute;z-index:-1;width:360px;height:360px;right:-70px;top:-130px;border:1px solid color-mix(in srgb,var(--accent) 20%,var(--line));border-radius:50%;box-shadow:0 0 0 40px color-mix(in srgb,var(--accent) 3%,transparent),0 0 0 80px color-mix(in srgb,var(--accent) 2%,transparent)}.objective-kicker{font-size:12px;color:var(--muted);margin:28px 0 12px}.objective-panel h2{font-family:var(--font-display);font-size:clamp(30px,4.3vw,53px);line-height:1.2;letter-spacing:-.055em;font-weight:600;max-width:850px;margin:0}.objective-panel h2 span{color:var(--accent)}.objective-bottom{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-top:38px;padding-top:22px;border-top:1px solid var(--line)}.objective-bottom p{max-width:550px;color:var(--muted);font-size:12px;line-height:1.9;margin:0}.objective-mark{font-family:var(--font-display);font-size:42px;font-weight:800;letter-spacing:-.12em}.contact-section{background:var(--bg-soft)}.contact-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(45px,9vw,115px)}.contact-copy h2{font-size:clamp(38px,4.7vw,58px)}.contact-copy>p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:1.95;max-width:390px;margin:25px 0}.contact-note{display:flex;align-items:center;gap:14px;margin-top:38px}.contact-note-icon{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line);border-radius:9px;color:var(--accent);font-size:20px}.contact-note b,.contact-note small{display:block}.contact-note b{font-size:11px}.contact-note small{font-size:10px;color:var(--muted);margin-top:4px}.contact-form{background:var(--panel);border:1px solid var(--line);border-radius:13px;padding:clamp(22px,4vw,35px)}.form-row{display:flex;flex-direction:column;gap:8px;margin-bottom:19px}.form-row label{font-size:11px;font-weight:600}.form-row input,.form-row textarea,.form-row select{width:100%;min-width:0;border:1px solid var(--line);border-radius:7px;background:var(--bg-soft);color:var(--text);padding:12px 13px;font-size:12px;outline:none;transition:border-color .2s}.form-row input::placeholder,.form-row textarea::placeholder{color:var(--faint)}.form-row input:focus,.form-row textarea:focus,.form-row select:focus{border-color:var(--accent)}.form-row textarea{resize:vertical;min-height:110px}.form-row select{cursor:pointer}.form-row select:invalid{color:var(--faint)}.form-submit{width:100%;justify-content:space-between}.form-hint{font-size:9px;color:var(--faint);line-height:1.7;margin:12px 0 0}.site-footer{padding:40px 0 20px}.footer-top{display:flex;align-items:center;gap:30px;padding-bottom:30px;border-bottom:1px solid var(--line)}.footer-top>p{font-size:11px;color:var(--muted);line-height:1.8;margin:0 auto 0 0}.back-top{font-size:11px;color:var(--muted)}.back-top:hover,.social-links a:hover{color:var(--accent)}.footer-bottom{display:flex;align-items:center;gap:25px;flex-wrap:wrap;padding-top:20px;font-size:9px;color:var(--faint)}.social-links{display:flex;gap:18px;margin:auto}.social-links a{transition:color .2s}.footer-signoff{letter-spacing:.13em;font-size:8px}.footer-signoff span{color:var(--accent);margin-left:4px}.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1)}.reveal.is-visible{opacity:1;transform:translateY(0)}.skills-grid .reveal:nth-child(2),.services-grid .reveal:nth-child(2){transition-delay:.07s}.skills-grid .reveal:nth-child(3),.services-grid .reveal:nth-child(3){transition-delay:.14s}.skills-grid .reveal:nth-child(4),.services-grid .reveal:nth-child(4){transition-delay:.21s}@keyframes scrollbar{0%{transform:translateX(-110%)}100%{transform:translateX(300%)}}@media(min-width:1450px){.hero h1{font-size:86px}.hero-art{height:550px}}@media(max-width:1000px){.section{padding:88px 0}.nav{gap:16px}.nav>a{font-size:11px}.hero-layout{gap:20px}.hero-art{transform:scale(.92);transform-origin:center}.skills-grid,.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.skill-card{padding:24px}.service-card h3{min-height:0}.journey-layout{gap:55px}.about-grid{gap:50px}}@media(max-width:760px){.container{width:min(100% - 36px,var(--container))}.nav-wrap{min-height:68px;gap:10px}.brand{margin-right:auto}.menu-toggle{display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center;border-radius:9px}.menu-toggle span{width:16px;height:1px;background:var(--text);transition:transform .2s}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3px) rotate(-45deg)}.theme-toggle{width:38px;height:38px}.nav{position:fixed;left:0;right:0;top:68px;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:14px 22px 22px;background:var(--bg);border-bottom:1px solid var(--line);transform:translateY(-140%);visibility:hidden;opacity:0;transition:transform .25s,opacity .25s,visibility .25s;max-height:calc(100svh - 68px);overflow:auto}.nav.is-open{transform:translateY(0);visibility:visible;opacity:1}.nav>a{padding:13px 5px;font-size:13px;border-bottom:1px solid var(--line)}.nav .nav-contact{margin-top:12px;text-align:center;border:1px solid var(--line)}.hero{padding:66px 0 24px;min-height:auto}.hero-layout{grid-template-columns:1fr;gap:15px}.hero-copy{position:relative;z-index:3}.availability{margin-bottom:22px}.hero h1{font-size:clamp(48px,12vw,76px)}.hero-description{font-size:13px;max-width:560px;margin:22px 0}.hero-meta{margin-top:30px}.hero-art{height:390px;max-width:500px;width:100%;margin:0 auto;transform:none}.orbit-one{width:310px;height:200px}.orbit-two{width:245px;height:340px}.art-core{width:145px;height:145px;border-radius:33px}.core-a{font-size:67px}.card-code{left:2%;top:72px}.card-network{right:0;bottom:75px}.art-caption{bottom:10px}.hero-bottom{margin-top:25px}.section{padding:76px 0}.section-heading{margin-bottom:34px}.section-heading-row{align-items:start;flex-direction:column;gap:15px}.heading-note{max-width:430px}.about-grid{grid-template-columns:1fr;gap:32px}.portrait-panel{width:min(100%,360px);margin-inline:auto}.portrait-placeholder{min-height:320px}.about-copy .lead{font-size:25px}.skills-grid,.services-grid{gap:12px}.skill-card{padding:19px 15px}.skill-top{margin-bottom:20px}.skill-card h3{font-size:14px}.skill-card p,.service-card p{font-size:11px}.tools-strip{align-items:flex-start;flex-direction:column;gap:13px}.projects-grid{gap:16px}.project-visual,.custom-project-mark{height:220px;min-height:220px}.project-info{padding:18px}.project-info h3{font-size:19px}.project-info p{font-size:11px}.project-foot{align-items:flex-start;flex-direction:column}.project-arrow{display:none}.journey-layout{grid-template-columns:1fr;gap:35px}.journey-intro{max-width:520px}.timeline{margin-left:5px}.objective-section{padding-top:0}.objective-panel{padding:30px 24px}.objective-panel h2{font-size:clamp(30px,7vw,44px)}.objective-bottom{margin-top:28px}.contact-layout{grid-template-columns:1fr;gap:35px}.contact-copy>p:not(.eyebrow){max-width:560px}.contact-note{margin-top:24px}.footer-top{gap:18px;flex-wrap:wrap}.footer-top>p{margin-left:auto}.back-top{width:100%;padding-top:14px;border-top:1px solid var(--line)}.footer-bottom{gap:14px}.social-links{order:3;width:100%;margin:0;flex-wrap:wrap}.footer-signoff{margin-left:auto}}@media(max-width:420px){.container{width:calc(100% - 30px)}.brand{font-size:10px;gap:8px}.brand-mark{width:34px;height:34px}.brand-sub{font-size:7px}.hero h1{font-size:47px}.hero-actions{align-items:stretch;flex-direction:column}.hero-actions .button{width:100%;justify-content:space-between}.hero-art{height:330px}.orbit-one{width:255px;height:170px}.orbit-two{width:210px;height:290px}.art-core{width:120px;height:120px;border-radius:28px}.core-a{font-size:57px}.core-bracket{font-size:18px}.card-code{width:135px;top:45px;padding:10px}.card-network{bottom:54px;padding:9px}.card-network small{font-size:8px}.art-caption{font-size:7px}.hero-meta{gap:12px}.section-heading h2,.contact-copy h2{font-size:36px}.skills-grid,.services-grid{grid-template-columns:1fr}.skill-card{padding:20px}.skill-top{margin-bottom:18px}.skill-card p{max-width:330px}.projects-grid{grid-template-columns:1fr}.project-visual,.custom-project-mark{height:235px;min-height:235px}.project-foot{flex-direction:row;align-items:center}.project-info h3{font-size:21px}.timeline{padding-left:23px}.timeline-dot{left:-28px}.timeline-meta{font-size:7px}.timeline-item h3{font-size:16px}.objective-panel{padding:26px 19px}.objective-bottom{align-items:start}.objective-bottom p{font-size:11px}.objective-mark{font-size:34px}.contact-form{padding:20px 16px}.footer-top{align-items:flex-start}.footer-top>p{font-size:10px}.footer-bottom{font-size:8px}.social-links{gap:15px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}


/* Personal photo and direct contact actions */
.portrait-placeholder { padding: 0; }
.portrait-image { display: block; width: 100%; height: 100%; min-height: 390px; object-fit: cover; object-position: center 30%; border-radius: 10px; }
.contact-direct { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; margin-top: 22px; }
.contact-direct-link { display: inline-flex; align-items: center; gap: 18px; padding: 11px 15px; border-radius: 7px; background: var(--accent); color: var(--accent-ink); font-size: 12px; font-weight: 700; }
.contact-direct-link span { font-size: 16px; }
.contact-email-link { color: var(--muted); font-size: 12px; overflow-wrap: anywhere; }
.contact-email-link:hover { color: var(--accent); }
@media(max-width:760px) { .portrait-image { min-height: 320px; } }
