/* Early Mac OS X Aqua-inspired desktop chrome. */
:root{font-family:"Lucida Grande","Lucida Sans Unicode",Arial,sans-serif;--paper:#fff;--ink:#252525;--desktop:#397db4;--stripes:repeating-linear-gradient(0deg,#f3f3f3 0px,#f3f3f3 2px,#fff 2px,#fff 4px)}
.menubar{height:29px;padding:0 20px;gap:22px;background:linear-gradient(#fff9,#fff0),var(--stripes);border-bottom:1px solid #6b7d8c;color:#151515;box-shadow:0 2px 5px #1235;text-shadow:0 1px white;font-size:13px}
.menubar button,.menubar #theme,.owner-name{font-size:13px;color:#171717}.menu-right{gap:14px}.menu-right a{color:#3c5266;font-size:13px}#date,#clock{font-size:12px}.brand-mark{color:#1578cd;font-size:22px;text-shadow:0 1px 0 white,0 -1px 0 #07559a}.menu-divider{height:16px;background:#b7c1cc}
#workspace{height:calc(100dvh - 29px);background:#2c75b0 url('assets/aqua-wallpaper.svg') center/cover no-repeat}
body[data-wallpaper="aqua"] #workspace{background:#2c75b0 url('assets/aqua-wallpaper.svg') center/cover no-repeat}body[data-wallpaper="sunset"] #workspace{background:#716586 url('assets/retro-wallpaper.png') center/cover no-repeat}
.window,#about,#achievements{border:1px solid #727b83;border-radius:7px 7px 2px 2px;background:white;box-shadow:0 13px 28px #00182f65,0 1px 3px #0005;overflow:hidden}
.window .titlebar,#about .titlebar,#achievements .titlebar{position:relative;height:29px;min-height:29px;justify-content:center;padding:0 78px;background:linear-gradient(#ffffff77,#e0e0e077),var(--stripes);border-bottom:1px solid #9a9a9a;color:#555;font:13px "Lucida Grande","Lucida Sans Unicode",Arial,sans-serif;text-shadow:0 1px #fff;box-shadow:inset 0 1px white}
.window.active .titlebar{color:#151515;background:linear-gradient(#ffffff66,#d4d4d466),var(--stripes)}
.window .titlebar>span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.window .window-controls,#about .window-controls,#achievements .window-controls{position:absolute;left:9px;top:6px;display:flex;flex-direction:row;gap:7px}
.window .window-controls button,#about .window-controls button,#achievements .window-controls button{width:15px;height:15px;padding:0;border-radius:50%;font-size:0;line-height:12px;border:1px solid #777;box-shadow:inset 0 1px 2px #fff,0 1px 0 #fff;position:relative}
.window .window-controls [data-close]{order:0;background:radial-gradient(ellipse at 50% 20%,#fff9 0 12%,transparent 42%),linear-gradient(#ef8b80,#ea382a 55%,#ffaca1);border-color:#a84a3e!important}
.window .window-controls [data-minimize]{order:1;background:radial-gradient(ellipse at 50% 20%,#fffd 0 12%,transparent 42%),linear-gradient(#fff19c,#efb528 55%,#fff198);border-color:#ab8b39!important}
.window .window-controls [data-maximize]{order:2;background:radial-gradient(ellipse at 50% 20%,#fffc 0 12%,transparent 42%),linear-gradient(#c2ef96,#65b534 55%,#bbef8c);border-color:#638e42!important}
.window .window-controls:hover button{font-size:12px;color:#352c24}.window:not(.active) .window-controls button{filter:saturate(.5)}
h1,h2,.utility-window h2,.photos-empty h2{font-family:"Lucida Grande","Lucida Sans Unicode",Arial,sans-serif;font-weight:600;letter-spacing:-.025em;font-size:26px;line-height:1.25}h1 em,h2 em{color:#286da4;font-style:normal}.description{color:#50565b;font-size:14px}.window-body{padding:26px 28px}.eyebrow{color:#6c7781;letter-spacing:.06em;font-size:10px}
#about .window-body,#achievements .window-body{font-family:Monaco,"Courier New",monospace;font-size:13px;line-height:1.7}#about .intro,#about .description,#about .profile-section p,#achievements .description,.achievement-entry{font-size:13px;line-height:1.8}
.desktop-files span{color:white;background:transparent;box-shadow:none;text-shadow:0 1px 3px #002e5a,0 1px 1px #00162c;font-size:12px;font-weight:600}.desktop-files>button.selected{background:#a6d3ff22;border-color:transparent}.desktop-files>button.selected span{background:#2565a6;border-radius:3px;outline:1px solid #a5c9eaaa}.desktop-files svg{filter:drop-shadow(1px 3px 2px #1237)}
.desktop-files [data-open="work"] svg path:first-child,.project-folder svg path:first-child{fill:#72b0d7;stroke:#426986}.desktop-files [data-open="work"] svg path:last-child,.project-folder svg path:last-child{fill:#a8d8ef;stroke:#426986}
.project-folder{border-radius:3px}.project-folder:hover,.project-folder:focus-visible{background:#d5e8fa;border-color:#9fbdd7}.folder-name{font-size:13px}.folder-category{font-size:11px}.project-folders{gap:12px}.project-folder svg{width:68px;height:56px}
.dock{bottom:0;padding:8px 15px 11px;gap:12px;border:1px solid #ebf6ff99;border-bottom:0;border-radius:9px 9px 0 0;background:linear-gradient(#fff8,#d1e2f166);box-shadow:inset 0 1px 0 white,0 -2px 12px #1233;backdrop-filter:blur(9px)}
.dock button,.dock button:nth-child(2),.dock button:nth-child(3),.dock button:last-child,.dock button[data-open="experience"]{width:48px;height:48px;border-radius:9px;border:1px solid #4b7d9e;background:linear-gradient(#e7f7ff 0%,#82b9e3 48%,#3e8bc4 50%,#b5dff7 100%);box-shadow:inset 0 1px 2px white,0 2px 3px #1235;color:#153e68}
.dock button[data-open="work"]{background:linear-gradient(#f4eac0,#dcc17c 48%,#b89a4b 50%,#eee0a9);border-color:#9b813a}.dock button[data-open="about"],.dock button[data-open="achievements"]{background:linear-gradient(#fff,#e5e6e9);border-color:#83909b;color:#343a41}.dock button[data-open="contact"]{background:linear-gradient(#fff,#b5d6ef);color:#286292}.dock button:hover{transform:translateY(-5px) scale(1.08)}.dock .focused{box-shadow:inset 0 1px 2px white,0 2px 3px #1235}.dock button span{font-family:Georgia,serif;font-size:28px}.dock i{bottom:-9px;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:5px solid #172a3e;background:none;border-radius:0}.dock-divider{background:#718d9d80;box-shadow:1px 0 #fff9}
.desktop-note{color:#e0effb}.desktop-note span:first-child{font-size:10px}.desktop-note span:last-child{font:12px "Lucida Grande",Arial,sans-serif}.desktop-menu{border-radius:0 0 5px 5px;background:#fffffff2;border-color:#8699aa;padding:4px 0;box-shadow:3px 5px 12px #1235}.desktop-menu button{padding:6px 17px;font-size:13px;border-radius:0}.desktop-menu button:hover,.desktop-menu button:focus{background:linear-gradient(#609edd,#2368ba);color:white}
.desktop-action,.primary{border:1px solid #416d98;border-radius:16px;padding:5px 18px;background:linear-gradient(#f7fcff,#b2d7f5 45%,#6ca8df 50%,#ceeaff);color:#102b48;box-shadow:inset 0 1px white,0 1px 2px #1233;font-size:13px}.utility-window{background:var(--stripes)}.utility-window .setting-row{font-size:13px}.utility-window input{accent-color:#297ac3}.utility-window fieldset{border-color:#b4bcc2;border-radius:4px}.wallpaper-options label,.help-list{font-size:13px}.setting-note{font-size:12px}.search-results button{background:#e9f1f8}.search-results button:hover{background:#c9dff5}.experience-panel>h3,.photos-toolbar{background:var(--stripes);color:#444;font-size:12px}.photos-toolbar{padding:10px;margin:-26px -28px 0}.experience-panel,.career-timeline article{border-color:#b3bec8}.career-timeline>li:before{background:#3488ca}.current-badge{color:#27628e;background:#daeefa}.snapshot-link span{background:#e6eff7}.window-resize{width:14px;height:14px;background:repeating-linear-gradient(135deg,transparent 0 2px,#64788c 2px 3px)}
@media(max-width:700px){.menubar{height:29px;padding:0 10px;gap:9px!important}.menubar .owner-name,.menubar button{font-size:11px}#clock{font-size:10px}#workspace{height:calc(100dvh - 29px)}.desktop-files span{font-size:10px}.window .titlebar,#about .titlebar,#achievements .titlebar{font-size:11px;padding-left:72px;padding-right:14px}.dock{gap:7px;padding:8px 9px 11px}.dock button{min-width:38px;width:38px;height:40px}.dock button span{font-size:24px}.photos-toolbar{margin:-22px -22px 0}.window-body{padding:22px}.desktop-note{display:none}}
#about .window-controls [data-close],#achievements .window-controls [data-close]{order:0}#about .window-controls [data-minimize],#achievements .window-controls [data-minimize]{order:1}#about .window-controls [data-maximize],#achievements .window-controls [data-maximize]{order:2}
/* The dock displays individual application icons, not symbol tiles. */
.dock button,.dock button:nth-child(n),.dock button[data-open],.dock button.focused{background:none;border:0;border-radius:0;box-shadow:none;width:54px;height:58px;padding:0 1px;overflow:visible}
.dock button span{display:block;width:100%;height:100%}.dock button svg{display:block;width:100%;height:100%;filter:drop-shadow(0 2px 2px #142b4d66)}
.dock{padding:5px 13px 12px;gap:10px;overflow-y:hidden}.dock i{bottom:-7px}.dock button:hover{transform:translateY(-3px) scale(1.08)}
@media(max-width:700px){.dock{gap:6px;padding:5px 9px 12px}.dock button,.dock button:nth-child(n),.dock button[data-open]{width:40px;min-width:40px;height:46px}}
/* Snow Leopard: unified silver chrome and a reflective glass dock. */
:root{--stripes:linear-gradient(#f5f5f5,#e5e5e5)}
.menubar{background:linear-gradient(#ffffffef,#dededee8);border-bottom-color:#8b8b8b;box-shadow:0 1px 4px #0003;color:#202020}
.window .titlebar,#about .titlebar,#achievements .titlebar{background:linear-gradient(#f1f1f1,#d6d6d6);border-bottom-color:#aaa;color:#777;box-shadow:inset 0 1px #fff}
.window.active .titlebar{background:linear-gradient(#e9e9e9 0%,#d2d2d2 50%,#c5c5c5 100%);color:#252525;border-bottom-color:#8d8d8d}
.window,#about,#achievements{border-color:#909090;border-radius:6px 6px 3px 3px;box-shadow:0 15px 28px #0005,0 2px 5px #0004}
.window:not(.active) .window-controls button{background:linear-gradient(#e2e2e2,#bdbdbd)!important;border-color:#a2a2a2!important;filter:none}
.utility-window{background:#ededed}.experience-panel>h3,.photos-toolbar{background:linear-gradient(#fafafa,#e8e8e8)}
.desktop-menu{background:#fffffff2;border-color:#aaa;box-shadow:0 5px 15px #0004}.desktop-menu button:hover,.desktop-menu button:focus{background:linear-gradient(#5895e6,#2165c6)}
.dock{background:linear-gradient(to bottom,#edf6ff66 0%,#d9e5f18c 48%,#fafcffbd 50%,#8296acb3 93%,#f2f7ffe6 94%,#cad8e6e6 100%);border:1px solid #e4edf9b3;border-bottom:1px solid #6b7c90;border-radius:6px 6px 0 0;box-shadow:inset 0 1px #fff9,0 -1px 7px #10274433,0 2px 7px #0005;padding-bottom:14px;backdrop-filter:blur(7px)}
.dock button svg{-webkit-box-reflect:below -9px linear-gradient(transparent 68%,#fff2);filter:drop-shadow(0 2px 2px #142b4d55)}
.dock i{width:5px;height:5px;bottom:-9px;border:0;border-radius:50%;background:#d3f5ff;box-shadow:0 0 3px 1px #77c9ff,0 0 5px #143d63}
.dock-divider{background:linear-gradient(#566b8020,#566b8077,#566b8020);box-shadow:1px 0 #fff6}

/* Editorial name heading inspired by the reference. */
#about h1.about-name{display:flex;align-items:center;justify-content:space-between;gap:18px;font-family:"Instrument Serif",Georgia,serif;font-size:clamp(40px,5.6vw,72px);font-weight:400;line-height:1.05;letter-spacing:-.025em;color:#33251e;margin:0 0 28px;white-space:nowrap}
#about .about-name .name-rule{display:block;flex:1;min-width:24px;max-width:90px;height:1px;background:#86654d;margin-top:12px}
@media(max-width:420px){#about h1.about-name{font-size:40px;gap:10px;margin-bottom:22px}#about .about-name .name-rule{min-width:16px}}

#resume{--width:760px!important;height:calc(100% - 130px)}#resume .window-body{display:flex;flex-direction:column;padding:0;overflow:hidden}.resume-actions{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:14px 20px;background:#eee;border-bottom:1px solid #bbb;font-size:13px}.resume-actions a{color:#235f99;text-underline-offset:3px}.resume-preview{display:block;width:100%;flex:1;min-height:220px;border:0;background:#ddd}
@media(max-width:700px){.desktop-files>button{width:calc(16.666% - 2px)}.desktop-files span{font-size:9px;padding:3px 1px}.desktop-files svg{width:36px;height:40px}#resume{height:calc(100% - 230px)}}

.menu-right a svg{display:block;width:16px;height:16px}.menu-right a{align-items:center;justify-content:center}

#achievements .achievement-entries{padding-left:26px;margin:24px 0;font-size:13px;line-height:1.8}#achievements .achievement-entries li{padding:18px 0 18px 8px;border-top:1px solid #e7e7eb}#achievements .achievement-entries li::marker{font-weight:600;color:#414b55}

.menubar .brand-mark{display:flex;align-items:center;justify-content:center;width:24px;height:26px;flex-shrink:0}.brand-mark img{display:block;width:24px;height:24px;image-rendering:pixelated}
/* Welcome screen: the same retro landscape with a Snow Leopard login feel. */
.welcome-screen{position:fixed;inset:0;z-index:20000;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:30px;overflow:auto;padding:clamp(28px,6vh,64px) 24px 30px;background:linear-gradient(#241d3c40,#28233e5c),url('assets/retro-wallpaper.png') center/cover;color:#fff4e9;text-align:center;text-shadow:0 2px 12px #211a4370;transition:opacity .4s,transform .4s}
.welcome-clock>p{margin:0 0 10px;font-size:16px;font-weight:500}.welcome-clock time{display:block;font-family:"Helvetica Neue",Arial,sans-serif;font-size:clamp(80px,15vw,170px);line-height:1;font-weight:200;letter-spacing:-.065em;font-variant-numeric:tabular-nums;color:#fff1e5e8}.welcome-socials{display:flex;justify-content:center;gap:12px;margin:24px 0 0}.welcome-socials a{display:flex;align-items:center;justify-content:center;width:43px;height:34px;border:1px solid #fff7;border-radius:18px;background:linear-gradient(#fff3,#fff1);text-decoration:none;color:#fff5ec;font-size:18px;font-weight:600;box-shadow:inset 0 1px #fff3}.welcome-socials svg{width:18px;height:18px}.welcome-socials a:hover{background:#ffffff40}
.welcome-profile img{width:64px;height:64px;image-rendering:pixelated;filter:drop-shadow(0 3px 6px #241b3a55)}.welcome-profile h2{font-family:"Instrument Serif",Georgia,serif;font-size:clamp(40px,6vw,58px);font-weight:400;letter-spacing:0;margin:12px 0 8px}.welcome-profile p{font-size:11px;letter-spacing:.25em;margin:0;color:#f5e9eed9}
#enter-desktop{min-height:45px;padding:11px 26px;display:inline-flex;align-items:center;gap:28px;border:1px solid #e4e5eac9;border-radius:24px;background:linear-gradient(#fffffff2,#e0e3e8ee);box-shadow:inset 0 1px white,0 3px 12px #211b4540;color:#3c3b49;font-size:14px;text-shadow:0 1px white}#enter-desktop:hover{background:linear-gradient(#fff,#d3e5f6)}.welcome-entry>p{font-size:11px;letter-spacing:.08em;color:#fff0e4d9;margin:19px 0 0}.welcome-screen a:focus-visible,.welcome-screen button:focus-visible{outline:2px solid white;outline-offset:5px}.welcome-leaving{opacity:0;transform:scale(1.025);pointer-events:none}
@media(max-height:600px){.welcome-screen{gap:18px;padding:20px}.welcome-clock time{font-size:76px}.welcome-socials{margin-top:12px}.welcome-profile img{width:40px;height:40px}.welcome-profile h2{font-size:34px;margin:5px 0}.welcome-entry>p{margin-top:10px}}
@media(prefers-reduced-motion:reduce){.welcome-screen{transition:none}.welcome-leaving{transform:none}}

#project-preview.case-study-window{width:min(1120px,calc(100% - 48px))!important;left:24px!important}#project-preview.case-study-window .window-body{padding:0}#case-study{display:grid;grid-template-columns:minmax(280px, .9fr) minmax(320px,1.35fr)}#case-study[hidden]{display:none}.case-copy{padding:28px;border-right:1px solid #c5c9cd}.case-copy h2{font-family:"Instrument Serif",Georgia,serif;font-size:52px;font-weight:400;margin:12px 0 5px}.case-kicker{font-size:10px;letter-spacing:.12em;color:#747b82;margin:0}.case-subtitle{font-size:14px;color:#626970;margin:0 0 22px}.case-visit{display:inline-block;padding:9px 14px;border:1px solid #9aa8b6;border-radius:4px;background:linear-gradient(white,#e0e7ef);font-size:12px;text-decoration:none;color:#284e70}.case-copy section{border-top:1px solid #e0e3e5;margin-top:24px;padding-top:20px}.case-copy h3{font-size:11px;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:#69747e;margin:0 0 14px}.case-copy h4{font-size:13px;margin:20px 0 7px}.case-copy section p{font-size:13px;line-height:1.8;color:#4b535a;margin:0}.case-stack{display:flex;flex-wrap:wrap;gap:7px;list-style:none;margin:0;padding:0}.case-stack li{font-size:11px;padding:6px 9px;border:1px solid #bcc7d0;background:#f1f5f8;border-radius:3px}.case-visuals{background:#edf0f3;padding:0 18px 24px}.case-visuals-header{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.08em;padding:20px 0;color:#5d6b77}.case-visuals-header span{color:#88939d}.case-visuals figure{margin:0 0 20px;padding:8px;background:#fff;border:1px solid #bbc4cd;box-shadow:0 2px 5px #1830480a}.case-visuals img{display:block;width:100%;height:auto}.case-visuals a{display:block}.case-visuals a:hover{outline:2px solid #78a7cc}.case-visuals figcaption{font-size:10px;color:#65727e;padding:12px 4px 5px}.case-image-note{font-size:11px;color:#6b7680;line-height:1.6}@media(max-width:850px){#case-study{grid-template-columns:1fr}.case-copy{border-right:0}.case-visuals{border-top:1px solid #c5c9cd}#project-preview.case-study-window{left:16px!important;width:calc(100% - 32px)!important}}
