:root{color-scheme:light;--paper:#f7f8f4;--ink:#173b36;--muted:#52665f;--green:#17614f;--line:#d9e1d8;--teal:#137e80;--blue:#087cba;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}body{margin:0}a{color:inherit}button,input{font:inherit}a,button,input{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #087cba;outline-offset:6px}a{text-underline-offset:5px}.page-shell{max-width:1440px;margin:auto;padding:0 6.25%}.site-header{height:155px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:block;width:166px}.brand img{display:block;width:100%;height:auto}.header-contact{font-size:14px;text-decoration:none;display:flex;gap:26px;align-items:center}.header-contact span{font-size:22px}.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:20px;align-items:center;min-height:620px;padding:74px 0 79px}.eyebrow{margin:0 0 25px;text-transform:uppercase;font-size:11px;letter-spacing:2.3px;font-weight:700;display:flex;align-items:center;gap:10px}.status-dot{height:7px;width:7px;border-radius:50%;background:#1b8968;box-shadow:0 0 0 5px #e3ede2}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-2.7px}h1{font-size:clamp(48px,5.3vw,76px);line-height:1.09;margin:0 0 26px}h1 em{font-weight:400;color:var(--teal)}.intro{font-size:16px;line-height:1.8;max-width:454px;margin:0 0 31px;color:var(--muted)}.contact-button{display:inline-flex;align-items:center;gap:53px;border-radius:3px;padding:17px 23px;background:var(--ink);color:#fff;text-decoration:none;font-size:14px;transition:background .2s,transform .2s}.contact-button span{font-size:21px;line-height:1}.contact-button:hover{background:var(--green);transform:translateY(-2px)}.email{display:block;width:fit-content;font-size:12px;color:var(--muted);margin-top:18px;text-decoration:none}.email:hover,.header-contact:hover{text-decoration:underline}.hero-art{height:430px;position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 53% 64%,#dcece1aa,transparent 65%)}.chart-grid{position:absolute;inset:42px 8px 50px;background-image:linear-gradient(#c7d8cd55 1px,transparent 1px),linear-gradient(90deg,#c7d8cd55 1px,transparent 1px);background-size:58px 58px;mask-image:radial-gradient(ellipse,#000,transparent 72%)}.art-orbit{position:absolute;border:1px solid #bfd6c266;border-radius:50%;width:350px;height:350px;left:65px;top:28px}.orbit-two{width:460px;height:460px;left:10px;top:-27px;border-style:dashed;opacity:.5;animation:orbit 100s linear infinite}.bars{position:absolute;bottom:70px;left:35px;right:20px;height:275px;display:flex;align-items:flex-end;justify-content:space-between;gap:9px;transform:skewY(-9deg)}.bars i{display:block;flex:1;max-width:18px;background:linear-gradient(0deg,#35a98822,#159960a6);height:var(--h);border-top:1px solid #20a873;animation:bar-light 8s ease-in-out infinite alternate}.bars i:nth-child(1){--h:15%}.bars i:nth-child(2){--h:22%}.bars i:nth-child(3){--h:19%}.bars i:nth-child(4){--h:29%}.bars i:nth-child(5){--h:34%}.bars i:nth-child(6){--h:31%}.bars i:nth-child(7){--h:42%}.bars i:nth-child(8){--h:49%}.bars i:nth-child(9){--h:46%}.bars i:nth-child(10){--h:61%}.bars i:nth-child(11){--h:65%}.bars i:nth-child(12){--h:61%}.bars i:nth-child(13){--h:78%}.bars i:nth-child(14){--h:85%}.bars i:nth-child(15){--h:100%}.bars i:nth-child(n+6){background:linear-gradient(0deg,#2fae9f11,#198e96aa);border-color:#198e96;animation-delay:-3s}.bars i:nth-child(n+11){background:linear-gradient(0deg,#469ccc11,#168bc3bb);border-color:#168bc3;animation-delay:-5s}.growth-line{position:absolute;inset:0;width:100%;height:100%}.art-caption{position:absolute;bottom:5px;left:0;right:0;text-align:center;color:var(--muted);font-size:10px;letter-spacing:1.4px;text-transform:uppercase}.challenge{display:grid;grid-template-columns:1fr 1.1fr;gap:60px;background:#edf1e9;border:1px solid #dce4d7;border-radius:5px;padding:49px 50px;margin:0 0 57px;align-items:center}.challenge .eyebrow{font-size:10px;letter-spacing:1.8px;margin-bottom:22px}h2{font-size:37px;line-height:1.2;letter-spacing:-1px;margin:0 0 20px}.challenge-intro>p:not(.eyebrow){font-size:14px;line-height:1.8;color:var(--muted);margin:0 0 25px}.game-note{font-size:10px;letter-spacing:.5px;color:var(--muted)}footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:25px 0 31px;color:var(--muted);font-size:10px}footer p{margin:0}.skip-link{position:fixed;top:10px;left:10px;z-index:10;padding:12px;background:white;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.no-script{font-size:14px;line-height:1.8}@keyframes orbit{to{transform:rotate(360deg)}}@keyframes bar-light{to{opacity:.6}}@keyframes confetti{0%{opacity:0;transform:translate(0,0)}20%{opacity:1}100%{opacity:0;transform:translate(var(--x),var(--y)) rotate(160deg)}}
@media(min-width:1500px){.page-shell{padding:0 90px}}
@media(max-width:1000px){.page-shell{padding:0 5%}.hero{min-height:560px;gap:0}.hero-art{height:340px}.challenge{gap:30px;padding:34px 30px}h2{font-size:31px}.bars{gap:7px;left:20px;right:10px;height:220px}}
@media(max-width:650px){.page-shell{padding:0 24px}.site-header{height:119px}.brand{width:140px}.header-contact{font-size:12px;gap:15px}.hero{display:flex;flex-direction:column;align-items:stretch;padding:43px 0 35px}.hero .eyebrow{margin-bottom:25px}h1{font-size:49px;line-height:1.1;letter-spacing:-2px;max-width:440px}.desktop-break{display:none}.intro{font-size:14px;line-height:1.8;margin-bottom:26px}.contact-button{padding:16px 22px;gap:66px}.email{font-size:11px}.hero-art{height:260px;width:100%;max-width:400px;align-self:center;margin:24px 0 0}.bars{bottom:42px;height:170px;left:30px;right:20px;gap:8px}.chart-grid{inset:15px 10px 35px}.art-orbit{height:245px;width:245px;left:calc(50% - 122px);top:0}.orbit-two{height:310px;width:310px;left:calc(50% - 155px);top:-30px}.art-caption{font-size:8px;letter-spacing:1.2px}.challenge{grid-template-columns:1fr;padding:29px 20px;gap:27px;margin-bottom:35px}.challenge .eyebrow{font-size:9px;margin-bottom:17px}h2{font-size:32px}.challenge-intro>p:not(.eyebrow){font-size:13px;margin-bottom:15px}footer{flex-direction:column;gap:12px;font-size:9px;padding:23px 0 30px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Pong: the optional arcade sits below the business message. */
.pong-game{min-width:0;background:#fcfdf9;border:1px solid #dce4d7;border-radius:7px;padding:24px;box-shadow:0 10px 30px #203d3210}
.pong-game[hidden],[hidden]{display:none!important}
.pong-heading,.pong-stats,.pong-controls,.leaderboard-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.pong-heading h3{font-family:Georgia,serif;font-size:25px;font-weight:400;margin:0;letter-spacing:-.5px}.arcade-label{font-size:10px;color:var(--muted);text-align:right;line-height:1.5}
.pong-stats{margin:20px 0 13px;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:1px}.pong-stats strong{font-size:17px;font-weight:500;color:var(--ink);margin-left:6px;letter-spacing:0;font-variant-numeric:tabular-nums}
.court-wrap{position:relative;border-radius:5px;background:#143a35}.court-wrap canvas{display:block;width:100%;height:auto;aspect-ratio:10/7;border-radius:5px;touch-action:none;cursor:crosshair}
.court-message{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;color:#f9fcf5;background:#143a35d9;pointer-events:none;border-radius:5px;text-align:center;padding:12px}.court-message span{font-size:9px;letter-spacing:2px;color:#a3d9b7}.court-message strong{font-family:Georgia,serif;font-size:28px;font-weight:400}.court-message small{font-size:11px;color:#c6d8ce}
.pong-controls{margin:15px 0 12px;justify-content:flex-start;flex-wrap:wrap;gap:8px}.pong-controls button,.name-entry button{min-height:44px;padding:10px 14px;border:1px solid #d3ded2;border-radius:3px;font-size:12px;cursor:pointer;background:#fcfdf9;color:var(--ink)}.pong-controls .pong-primary,.name-entry .pong-primary{background:var(--ink);border-color:var(--ink);color:white}.pong-primary:hover:not(:disabled){background:var(--green)}button:disabled{opacity:.45;cursor:default}.direction-controls{display:flex;gap:6px;margin-left:auto}.direction-controls button{min-width:44px;font-size:19px;touch-action:none;user-select:none}
#pong-instructions{font-size:10px;line-height:1.7;color:var(--muted);margin:0 0 10px}.pong-status{font-size:11px;line-height:1.65;margin:0;color:var(--green);min-height:36px}
#score-form{border-top:1px solid var(--line);padding-top:16px;margin-top:13px}#score-form label{display:block;font-size:12px;font-weight:600;margin-bottom:9px}.name-entry{display:flex;gap:8px}.name-entry input{min-width:0;width:100%;border:1px solid #b7c8b8;border-radius:3px;padding:10px;font-size:13px;background:white;color:var(--ink)}.name-entry button{white-space:nowrap}#name-note{font-size:10px;color:var(--muted);line-height:1.6;margin:9px 0 0}
.leaderboard{border-top:1px solid var(--line);padding-top:20px;margin-top:17px}.leaderboard h4{font-size:13px;font-weight:600;margin:0}.leaderboard-heading button{border:0;background:none;color:var(--green);padding:10px 0 10px 10px;font-size:10px;cursor:pointer;min-height:36px}.board-note{font-size:10px;color:var(--muted);line-height:1.6;margin:3px 0 10px}#score-list{list-style:none;padding:0;margin:0}#score-list li{display:grid;grid-template-columns:25px 1fr auto;gap:10px;padding:10px 0;border-bottom:1px solid #e7ece3;font-size:12px;align-items:center}#score-list li>span:nth-child(2){overflow-wrap:anywhere}.score-rank{font-size:10px;color:var(--muted)}#score-list li:first-child strong{color:var(--green)}#board-status{font-size:11px;color:var(--muted);line-height:1.6;margin:10px 0 0}
.challenge-intro{align-self:start;padding-top:30px}
@media(max-width:1000px){.challenge{grid-template-columns:.8fr 1.2fr;gap:25px}.pong-game{padding:18px}.pong-heading{align-items:flex-start}.pong-heading h3{font-size:23px}.arcade-label{max-width:85px}}
@media(max-width:650px){.challenge{display:block;padding:27px 16px}.challenge-intro{padding:0 4px 28px}.pong-game{padding:15px}.pong-heading h3{font-size:23px}.arcade-label{font-size:9px}.pong-stats{letter-spacing:.3px;font-size:9px}.pong-stats strong{font-size:15px;margin-left:3px}.court-message strong{font-size:23px}.pong-controls{gap:6px}.pong-controls button{padding:9px 10px;font-size:11px}.direction-controls{gap:4px}.direction-controls button{min-width:38px;font-size:17px}.name-entry{flex-wrap:wrap}.name-entry input{flex:1 1 120px}.name-entry button{flex:0 0 auto}}
