
@font-face{font-family:NRDisplay;src:url('assets/display.woff') format('woff');font-display:swap;font-weight:700}
@font-face{font-family:NRSans;src:url('assets/sans.woff') format('woff');font-display:swap}
@font-face{font-family:NRSerif;src:url('assets/serif.woff') format('woff');font-display:swap;font-style:italic}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}img,svg{max-width:100%}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #fba34c;outline-offset:5px}button:disabled{cursor:wait}p{line-height:1.6}h1,h2,h3,p{margin-top:0}.skip-link{position:fixed;left:12px;top:-60px;background:white;color:black;padding:12px;z-index:100}.skip-link:focus{top:12px}.eyebrow{font:12px/1.5 monospace;text-transform:uppercase;letter-spacing:.14em}.contact-form label{display:block;font-size:13px;line-height:1.5}.contact-form input,.contact-form textarea{width:100%;padding:13px 14px;border:1px solid currentColor;border-radius:0;margin-top:7px;color:inherit;background:transparent;resize:vertical}.contact-form textarea{min-height:110px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.form-bottom{display:flex;gap:20px;align-items:center;margin-top:18px}.submit-button{border:0;padding:14px 20px;min-height:46px;font-weight:bold;display:flex;align-items:center;justify-content:space-between;gap:28px}.privacy-note{font-size:11px;opacity:.8;line-height:1.5}.form-status{font-size:13px;margin:12px 0 0}.contact-links{display:flex;gap:20px;flex-wrap:wrap;align-items:center}.contact-links a{text-underline-offset:5px}.company-symbol{width:60px;height:60px}footer a{text-underline-offset:4px}.footer-line{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}::selection{background:#ffe2a0;color:#14251d}dialog{max-width:min(600px,92vw);padding:28px;border:0}dialog::backdrop{background:#000b;backdrop-filter:blur(4px)}dialog .close-dialog{float:right;padding:7px 12px;border:1px solid;background:transparent}dialog h2{clear:both;padding-top:15px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}@media(max-width:600px){.form-row{grid-template-columns:1fr}.form-bottom{align-items:flex-start;flex-direction:column;gap:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

body{background-color:#11164c;background-image:radial-gradient(1px 1px at 20px 30px,#c5d3ff 90%,transparent),radial-gradient(1.5px 1.5px at 80px 90px,#eddffa 90%,transparent),radial-gradient(1px 1px at 150px 45px,#82aacd 90%,transparent),radial-gradient(1px 1px at 200px 170px,#b8bcdc 90%,transparent);background-size:230px 210px;color:#151b35;font-family:Tahoma,Verdana,Arial,sans-serif;font-size:13px}.retro-page{max-width:1180px;margin:auto;padding:25px 32px 0}.retro-header{text-align:center;color:#fff}.retro-address{font:10px monospace;letter-spacing:.2em;color:#a9b4e8;margin:7px 0 15px}.retro-title{display:flex;align-items:center;justify-content:center;gap:35px}.retro-title h1{font:italic 700 clamp(50px,6.4vw,88px)/1.1 Georgia,serif;letter-spacing:-.065em;background:linear-gradient(#fffec3,#fff599 25%,#ffd237 55%,#ed730a 80%);background-clip:text;-webkit-background-clip:text;color:transparent;filter:drop-shadow(3px 4px 0 #860761);transform:rotate(-3deg);margin:0 0 17px}.pixel-spark{font-size:55px;color:#fcf794;text-shadow:3px 3px #f81d95;animation:spark 3s ease-in-out infinite alternate}.retro-subtitle{font:14px 'Comic Sans MS',cursive;color:#fce6f2;letter-spacing:.025em;margin:5px 0 24px}.retro-marquee{font:11px/32px monospace;background:#030825;border:2px inset #9b9fb7;color:#dbff72;white-space:nowrap;overflow:hidden;margin-bottom:24px;letter-spacing:.035em}.retro-marquee span{display:inline-block;animation:marquee 28s linear infinite;padding-left:5%}.retro-layout{display:grid;grid-template-columns:176px minmax(0,1fr) 186px;gap:18px;align-items:start}.retro-window{background:#d7d9e4;border:3px outset #f2f1fd;box-shadow:3px 3px #0006;margin-bottom:18px}.window-bar{padding:7px 8px;background:linear-gradient(90deg,#172b87,#526ecd);color:#fff;font:bold 10px Tahoma,Arial,sans-serif;display:flex;justify-content:space-between;letter-spacing:.025em;min-height:29px}.retro-inner{padding:23px;background:#fffdee;margin:3px}.retro-inner h2{font:bold 24px/1.2 Georgia,serif;color:#192b84;margin-bottom:13px}.retro-inner p{font-size:13px;line-height:1.65;margin-bottom:15px}.retro-sidebar nav{padding:8px;display:grid;gap:4px}.retro-sidebar nav a{color:#172177;padding:9px 4px;font-size:11px;font-weight:bold}.retro-sidebar nav a:hover{background:#f4eead}.visitor{text-align:center;padding-bottom:15px}.visitor .window-bar{justify-content:center}.counter{display:inline-block;background:#020204;color:#a4ff63;font:bold 21px/1.2 monospace;letter-spacing:2px;border:2px inset #9598a8;margin:17px 7px 5px;padding:3px 5px}.visitor small{display:block;font-size:9px;color:#525669}.visitor p{font-size:11px;line-height:1.7;margin:4px 0}.tiny-globe{font:60px/1 Georgia;color:#247a59;text-shadow:2px 2px #8fbde4;margin-top:15px}.retro-badge{margin:14px auto;width:150px;border:2px outset #fff;background:#1a245c;color:#feec93;text-align:center;box-shadow:2px 2px #000;transform:rotate(-3deg)}.retro-badge b{display:block;font:bold 17px monospace;line-height:1.2;padding:6px 2px 3px}.retro-badge span{font:7px monospace;letter-spacing:.04em;display:block;padding:4px;background:#e4bdbb;color:#20114c}.web-badge{transform:rotate(2deg);background:#286966;color:#fff}.web-badge span{background:#ffdd53}.retro-sound{display:block;margin:22px auto;color:white;background:transparent;border:1px dashed #9aa2c4;font:10px monospace;padding:9px}.retro-welcome{display:flex;align-items:center;gap:26px;margin:7px 0 24px}.tiny-label{font:9px monospace!important;letter-spacing:.16em;color:#954b8a;margin-bottom:9px!important}.retro-welcome h2{font:bold 31px/1.1 Georgia;margin:0;letter-spacing:-.03em}.wave{color:#c159a4}.pixel-computer{width:100px;flex-shrink:0}.computer-screen{height:78px;background:#202772;border:8px ridge #a9abb4;position:relative;box-shadow:3px 3px #32386e}.computer-screen span{display:block;text-align:center;color:#bbffe3;font:24px/38px monospace}.computer-screen i{display:block;font:6px monospace;text-align:center;color:#f5f390}.computer-base{margin:6px auto 0;height:12px;background:#cac9cc;border:4px outset #fff;width:105px;clip-path:polygon(15% 0,85% 0,100% 100%,0 100%)}.rainbow-rule{height:5px;background:linear-gradient(90deg,#ec5169,#ffe154,#b6e66d,#6ce0e0,#858afa,#d5a0e2);margin-bottom:24px}.retro-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:23px}.retro-tags span{font:8px monospace;background:#e2e6f4;border:1px dotted #8795b4;padding:5px 8px}.construction-tape{background:repeating-linear-gradient(135deg,#262732 0 9px,#ffda38 9px 18px);font:bold 8px monospace;color:#fff;text-align:center;padding:7px 0;text-shadow:1px 1px #000;letter-spacing:.03em;margin:-23px -23px 24px;border-bottom:2px solid #202a3d}.retro-building h2{font-size:23px}.retro-progress{height:23px;position:relative;border:2px inset #a9aeba;background:#eeeeea;margin-top:20px}.retro-progress div{position:absolute;inset:2px 53% 2px 2px;background:repeating-linear-gradient(90deg,#417845 0 8px,transparent 8px 10px)}.retro-progress span{position:absolute;right:8px;top:5px;font:bold 8px monospace;color:#444c43}.retro-directory{width:100%;border-collapse:collapse;border:2px inset #a8b0c3;font-size:11px;margin-top:20px;background:white}.retro-directory th{background:#dde2ef;border:1px solid #adb3c5;text-align:left;font-size:8px;font-weight:normal;padding:8px}.retro-directory td{border-bottom:1px solid #d9dce8;padding:12px 8px;font-size:10px}.retro-directory td:first-child{font-size:12px;font-weight:bold}.retro-directory tr:nth-child(even){background:#f4f2e9}.retro-directory a{color:#243399;text-underline-offset:3px}.folder-icon{color:#d5a600;font-size:16px}.retro-online{color:#34804d;font-size:8px}.retro-directory td:last-child{font:7px monospace;color:#4b5751;white-space:nowrap}.retro-right .retro-inner{padding:18px 12px}.status-window{text-align:center}.big-status-light{display:block;width:19px;height:19px;border-radius:50%;background:#99f64b;border:3px ridge #ceffd0;box-shadow:0 0 12px #a9ed87;margin:7px auto 15px}.status-window h3{font:bold 23px/1.1 Georgia;color:#222d7d;margin:0 0 12px}.status-window p{font-size:10px}.status-sticker{display:inline-block;background:#ffec37;color:#af2532;border:1px dashed #bd3e3e;font:10px monospace;padding:7px;transform:rotate(-8deg);margin:5px 0 10px}.retro-sticky{margin:25px 0;background:#fff690;padding:20px 16px;transform:rotate(4deg);box-shadow:4px 5px #0004;position:relative;color:#3e3449}.retro-sticky:before{content:'';position:absolute;top:-8px;left:30%;width:70px;height:18px;background:#dce8c980;transform:rotate(-6deg)}.retro-sticky>span:first-child{font:9px monospace}.retro-sticky p{font:18px/1.65 'Comic Sans MS',cursive;margin:15px 0 8px}.sticky-signature{font:italic 17px Georgia;display:block;text-align:right}.webring{text-align:center}.webring-icon{font:42px Georgia;display:block;color:#5548af;line-height:1;margin-bottom:10px}.webring>a{display:block;font-size:11px;color:#242a90;font-weight:bold;min-height:28px}.webring>div{display:flex;justify-content:space-between;margin:13px 0}.webring button{font:10px Tahoma;background:#dbdde6;border:2px outset #fff;padding:5px}.webring small{font-size:8px;color:#5a5575}.email-sticker{transform:rotate(-9deg);color:#ffef63;text-align:center;padding:10px}.email-sticker span{font:50px Georgia;display:block}.email-sticker b{font:25px/1 NRDisplay;display:block;color:#fdf083;text-shadow:2px 2px #a62e97}.retro-inner .contact-form label{font-size:11px;color:#313960}.retro-inner .contact-form input,.retro-inner .contact-form textarea{background:white;border:2px inset #b5bbcc;font:12px Tahoma;color:#25293a;padding:10px}.retro-inner .submit-button{background:#dfe0e9;border:3px outset #fff;color:#233185;font:bold 12px Tahoma;padding:9px 15px}.retro-inner .privacy-note{font-size:9px}.retro-inner .form-row{gap:12px}.retro-inner .form-status{font-size:11px}.retro-inner hr{border:0;border-top:1px dotted #8892ab;margin:24px 0 20px}.retro-inner .contact-links{font-size:10px;color:#273896;gap:15px}.retro-footer{text-align:center;color:#cfd0ed;font-size:10px;padding:32px 0}.retro-footer .rainbow-rule{margin-bottom:23px}.retro-footer p:first-of-type{color:#fff19d;font-size:12px}.retro-footer small{font-size:8px;opacity:.75}@keyframes spark{to{transform:scale(.85);opacity:.65}}@keyframes marquee{to{transform:translateX(-7%)}}@media(max-width:1000px){.retro-layout{grid-template-columns:155px minmax(0,1fr)}.retro-right{display:none}.retro-page{max-width:880px}.retro-title h1{font-size:70px}.pixel-spark{font-size:38px}}@media(max-width:650px){.retro-page{padding:20px 13px 0}.retro-layout{display:flex;flex-direction:column;gap:0}.retro-sidebar{width:100%}.retro-sidebar nav{display:flex;flex-wrap:wrap;gap:4px;justify-content:center}.retro-sidebar nav a{font-size:10px;padding:8px}.retro-sidebar>.retro-window:not(:first-child),.retro-sidebar>.retro-badge,.retro-sidebar>.retro-sound{display:none}.retro-main{width:100%;min-width:0}.retro-title{gap:10px}.retro-title h1{font-size:44px;letter-spacing:-.07em}.pixel-spark{font-size:27px}.retro-address{font-size:7px;letter-spacing:.09em}.retro-subtitle{font-size:11px;margin-top:7px;margin-bottom:17px}.retro-marquee{font-size:9px;margin-bottom:18px}.retro-inner{padding:19px 16px}.retro-welcome{gap:17px}.retro-welcome h2{font-size:27px}.pixel-computer{width:76px}.computer-screen{height:68px;border-width:6px}.computer-base{width:80px}.retro-inner h2{font-size:24px}.retro-directory td{padding:11px 5px;font-size:8px}.retro-directory td:first-child{font-size:11px}.retro-directory td:last-child{font-size:6px}.retro-directory th{padding:8px 5px;font-size:7px}.construction-tape{margin:-19px -16px 24px;font-size:7px}.retro-progress span{font-size:7px;right:5px}.retro-progress div{right:59%}.retro-footer{font-size:9px}.retro-inner .form-bottom{flex-direction:row;align-items:center}.retro-inner .privacy-note{font-size:8px}}

/* Address-book download */
.save-card-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:23px}
.save-card{display:inline-flex;align-items:center;gap:13px;padding:10px 14px 10px 11px;background:#e3e5f0;border:2px outset #fff;box-shadow:1px 1px #898ca0;color:#202c7d;text-decoration:none}
.save-card:hover{background:#f0effb}.save-card:active{border-style:inset}
.save-card strong{display:block;font:bold 12px Tahoma,Arial,sans-serif}.save-card small{display:block;font:9px/1.5 Tahoma,Arial,sans-serif;margin-top:3px;color:#565c79}
.save-arrow{font:bold 22px monospace;margin-left:8px}.save-status{font:10px/1.5 Tahoma,Arial,sans-serif;color:#354b31;max-width:160px}
.floppy-icon{display:block;position:relative;width:31px;height:32px;flex:0 0 31px;background:#353d87;border:2px solid #171e51;box-shadow:inset 2px 0 #7786bc,inset -2px 0 #24285d;clip-path:polygon(0 0,80% 0,100% 18%,100% 100%,0 100%)}
.floppy-icon:before{content:'';position:absolute;left:5px;right:5px;top:-1px;height:10px;background:linear-gradient(90deg,#c3c9d0 0 55%,#364059 55% 82%,#c3c9d0 82%);border:1px solid #727d96}
.floppy-icon:after{content:'';position:absolute;left:4px;right:4px;bottom:2px;height:13px;background:repeating-linear-gradient(0deg,#eef0de 0 3px,#b9bed0 3px 4px);border-top:3px solid #b03c55}
.floppy-icon i{position:absolute;z-index:1;left:1px;bottom:1px;width:3px;height:3px;background:#ced6b8}
.is-saving .floppy-icon{animation:floppy-save .8s steps(4,end) 2}.is-saving .floppy-icon:before{animation:floppy-shutter .8s steps(2,end) 2}
@keyframes floppy-save{0%,100%{transform:translateY(0)}35%,65%{transform:translateY(3px)}}
@keyframes floppy-shutter{50%{transform:translateX(3px)}}

/* Project artwork inside the classic 88:31 web-button proportions. */
.retro-directory .portfolio-link{display:flex;align-items:center;gap:12px;min-height:35px;width:fit-content;max-width:100%}
.pixel-banner{position:relative;isolation:isolate;display:inline-block;flex:0 0 176px;width:176px;height:62px;overflow:hidden;box-shadow:1px 1px #737688;image-rendering:auto}
.pixel-banner img{display:block;width:100%;height:100%;max-width:none}
.pixel-banner:after{content:'';position:absolute;z-index:1;top:-12px;bottom:-12px;width:17px;left:-40px;background:linear-gradient(90deg,transparent,#ffffff69,transparent);transform:skewX(-20deg);animation:banner-boot 1.6s steps(18,end) .2s 1}
.retro-directory tr:nth-child(2) .pixel-banner:after{animation-delay:.3s}.retro-directory tr:nth-child(3) .pixel-banner:after{animation-delay:.4s}.retro-directory tr:nth-child(4) .pixel-banner:after{animation-delay:.5s}.retro-directory tr:nth-child(5) .pixel-banner:after{animation-delay:.6s}.retro-directory tr:nth-child(6) .pixel-banner:after{animation-delay:.7s}.retro-directory tr:nth-child(7) .pixel-banner:after{animation-delay:.8s}.retro-directory tr:nth-child(8) .pixel-banner:after{animation-delay:.9s}
.portfolio-link:hover .pixel-banner:after,.portfolio-link:focus-visible .pixel-banner:after{animation:banner-hover 1s steps(18,end) 1}
.portfolio-link:hover .company-link-name{text-decoration:underline;text-decoration-thickness:2px}
.company-link-name{font:bold 11px Tahoma,Arial,sans-serif}
@keyframes banner-boot{0%,15%{left:-40px}85%,100%{left:120%}}@keyframes banner-hover{from{left:-40px}to{left:120%}}

@media(max-width:850px){.company-link-name{display:none}.retro-directory .portfolio-link{gap:0}}
@media(max-width:650px){.save-card-row{gap:11px;margin-top:20px}.save-status{max-width:none}.retro-directory td:first-child{width:auto}.retro-directory .portfolio-link{min-height:35px}}

@media(max-width:650px){.pixel-banner{width:132px;height:46.5px;flex-basis:132px}}
@media(max-width:370px){.pixel-banner{width:110px;height:38.75px;flex-basis:110px}}

.retro-inner .portfolio-note{margin:16px 0 0;font-size:11px;line-height:1.6;color:#59566f}

.webring-logo-frame{display:block;width:132px;max-width:100%;height:70px;margin:0 auto 12px;border:2px inset #a5adbd;background:#eef0e8}
.webring-logo-frame img{display:block;width:100%;height:100%;object-fit:contain}
#webring-name{display:block;min-height:28px}
#webring-logo-assets{display:none}
/* Screensaver and secret keyboard celebration. */
.screensaver-controls button{font:9px/1.5 monospace;color:#ece6c9;border:0;border-bottom:1px dotted #a9aec3;padding:3px 0;background:transparent;letter-spacing:0}.screensaver-controls button:hover{color:#ffed90}
.screensaver-controls{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:13px;margin:20px 0 0}.screensaver-controls small{font:9px monospace}
#retro-screensaver{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;overflow:hidden;background:#070b20;color:#f9e8b7;border:0;overscroll-behavior:contain;touch-action:none}
#retro-screensaver::backdrop{background:#070b20;backdrop-filter:none}#retro-screensaver:not([open]){display:none}
#screensaver-mark{position:absolute;left:0;top:0;width:min(320px,80vw);padding:20px 8px;text-align:center;will-change:transform;color:#ffe185}
#screensaver-mark>span{font:34px Georgia;text-shadow:2px 2px #8b357b}#screensaver-mark h2{font:bold italic clamp(24px,4vw,37px)/1.2 Georgia,serif;padding:0;margin:9px 0;letter-spacing:-.05em;text-shadow:2px 3px #80206d}#screensaver-mark small{font:8px/1.5 monospace;letter-spacing:.12em}.screensaver-help{position:absolute;bottom:24px;left:15px;right:15px;text-align:center;font:10px/1.5 monospace;color:#acb5d5}.screensaver-help p{margin:0 0 10px}.screensaver-help button{border:2px outset #cdd0e1;background:#d8dbea;color:#17285d;padding:7px 12px;font:11px Tahoma}
body.screensaver-active{overflow:hidden}.screensaver-active .retro-page *{animation-play-state:paused!important}
#alignment-party{position:fixed;inset:0;z-index:200;pointer-events:none;display:grid;place-items:center;overflow:hidden}#alignment-party[hidden]{display:none}.alignment-message{position:relative;max-width:calc(100vw - 32px);width:390px;text-align:center;padding:23px 18px;background:#fff9d9;border:4px outset #ffffed;box-shadow:6px 6px #060b3b99;color:#222d7d;animation:alignment-arrive .2s ease-out}.alignment-message>span{font:23px Georgia;color:#b48514}.alignment-message strong{display:block;margin:12px 0;font:bold 21px/1.3 Georgia}.alignment-message small{font:10px/1.6 monospace}.alignment-confetti{position:absolute;inset:0}.alignment-confetti i{position:absolute;left:calc(var(--i)*5.6%);top:-20px;width:8px;height:14px;background:#ffdb5e;animation:confetti-drop 2.8s ease-in forwards;animation-delay:calc(var(--i)*35ms)}.alignment-confetti i:nth-child(3n){background:#e67fad}.alignment-confetti i:nth-child(3n+1){background:#83d5bc}
@keyframes alignment-arrive{from{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes confetti-drop{to{transform:translate(30px,110vh) rotate(420deg)}}
@media(prefers-reduced-motion:reduce){.alignment-confetti{display:none}#screensaver-mark{will-change:auto}}
