@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#171a17;--panel:#222621;--text:#f2f4eb;--muted:#b9beb3;--line:#40463b;--accent:#55e6fa}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}header,main,footer{max-width:1440px;margin:auto}header{padding:30px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;gap:15px;align-items:center;font-family:'Space Grotesk',sans-serif;font-size:25px;font-weight:700;letter-spacing:-1px}.brand span{font-family:'DM Sans',sans-serif;letter-spacing:0;font-size:15px;font-weight:500}nav{display:flex;gap:38px;font-size:14px}nav span{color:var(--accent);font-size:12px;margin-left:5px}.hero{padding:48px 5% 65px}.eyebrow,.section-label,.project-meta,.serial,.photo-caption{font-family:monospace;font-size:12px;letter-spacing:1.1px}.eyebrow{display:flex;justify-content:space-between;color:var(--muted)}h1,h2,h3,h4,p{margin:0}h1{font-family:'Space Grotesk',Arial,sans-serif;font-size:clamp(65px,8.8vw,126px);line-height:1.03;letter-spacing:-.065em;font-weight:500;margin:47px 0 37px}h1 em{font-style:normal;color:var(--accent)}.hero-bottom{display:flex;justify-content:space-between;align-items:end;gap:30px}.hero-bottom p{max-width:485px;color:var(--muted);font-size:18px}.round-link{display:flex;gap:25px;align-items:center;font-size:15px}.round-link span{width:48px;height:48px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:25px}.projects{padding:0 5%}.section-label{display:flex;justify-content:space-between;align-items:center;padding:22px 0;border-top:1px solid var(--line)}.section-label h2{font:500 16px 'DM Sans',sans-serif}.section-label>span{color:var(--muted)}.featured{display:grid;grid-template-columns:1fr 1fr;background:#e9ede2;color:#1c2119}.feature-photo{position:relative;min-height:610px}.feature-photo>img{height:100%;width:100%;object-fit:cover;position:absolute}.photo-caption{position:absolute;bottom:20px;left:20px;background:#171a17e8;color:white;padding:9px 12px;font-size:11px}.feature-copy{padding:36px 38px}.project-meta{display:flex;justify-content:space-between;gap:15px;align-items:center;font-size:11px}.badge{border:1px solid #939c88;padding:3px 8px;letter-spacing:0;font:12px 'DM Sans',sans-serif}.feature-copy h3{font:500 clamp(42px,4.8vw,68px)/1.04 'Space Grotesk',sans-serif;letter-spacing:-3px;margin:37px 0 22px}.feature-copy h4{font-size:20px;font-weight:600;line-height:1.4;margin-bottom:13px}.feature-copy>p{color:#51594b}.tags{display:flex;flex-wrap:wrap;gap:7px;margin:24px 0}.tags span{font-size:12px;border:1px solid #959d8d;padding:3px 9px;border-radius:4px}details{border-top:1px solid #a8af9f;margin-top:25px}summary{display:flex;justify-content:space-between;cursor:pointer;padding:17px 0;list-style:none;font-size:14px;font-weight:600}summary::-webkit-details-marker{display:none}summary span{font-size:21px;font-weight:400;line-height:1}details[open] summary span{transform:rotate(45deg)}.notes p{font-size:16px;margin-bottom:16px}.mini-gallery{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:23px 0}.mini-gallery img{width:100%;height:185px;object-fit:cover}.notes .credit{font-size:13px}.text-link{font-size:14px;text-decoration:underline;text-underline-offset:4px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:22px}.project{padding:32px 36px;background:var(--panel);display:flex;flex-direction:column}.project>.project-meta{color:var(--muted)}.project-heading{min-height:210px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);margin-bottom:25px}.large-type{font:500 clamp(29px,3.2vw,47px)/1.12 'Space Grotesk',sans-serif;letter-spacing:-1.8px}.serial{font-size:10px;line-height:2;color:var(--muted);text-align:right}.pip .large-type{color:var(--accent)}.casio .large-type{color:#ff9478}.watches .large-type{color:#c2cdf4}.wii .large-type{color:#a7dce3}.project h3{font-size:22px;line-height:1.3;margin-bottom:14px;font-weight:500;letter-spacing:-.4px}.project>p{color:var(--muted)}.project .tags{margin-bottom:25px}.project .tags span{border-color:var(--line);color:#d1d7c8}.project details{border-color:var(--line);margin-top:auto}.project .notes{color:var(--muted)}.about{margin:90px 5% 65px;padding-top:30px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.2fr;gap:45px}.about h2{font:500 clamp(36px,4vw,55px)/1.1 'Space Grotesk',sans-serif;letter-spacing:-2px;margin-bottom:26px}.about p{max-width:600px;color:var(--muted);margin-top:16px}footer{border-top:1px solid var(--line);padding:28px 5%;display:flex;justify-content:space-between;align-items:center;gap:22px}footer>span,footer>a:last-child{font-size:13px;color:var(--muted)}a:hover{color:var(--accent)}.featured a:hover{color:#4a6600}summary:hover{opacity:.7}:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.featured :focus-visible{outline-color:#416200}.skip{position:absolute;left:20px;top:-100px;background:var(--accent);color:black;padding:10px;z-index:10}.skip:focus{top:10px}@media(min-width:1600px){body{border-left:1px solid var(--line);border-right:1px solid var(--line);max-width:1440px;margin:auto}}@media(max-width:760px){header{padding:23px 6%}.brand span{font-size:13px}nav{gap:18px}.hero{padding:32px 6% 45px}.eyebrow{font-size:10px}.hero>.eyebrow>span:last-child{display:none}h1{margin:36px 0 27px;font-size:clamp(58px,11.5vw,85px)}.hero-bottom{display:block}.hero-bottom p{font-size:16px}.round-link{margin-top:25px;justify-content:space-between}.projects{padding:0 6%}.section-label>span{font-size:9px}.featured,.project-grid{grid-template-columns:1fr}.feature-photo{min-height:440px}.feature-photo>img{object-position:center 55%}.feature-copy,.project{padding:27px}.feature-copy h3{font-size:57px}.project-heading{min-height:175px}.large-type{font-size:38px}.about{grid-template-columns:1fr;margin:60px 6% 45px;gap:25px}footer{padding:25px 6%;flex-wrap:wrap}footer>span{display:none}.photo-caption{font-size:10px}.project-meta{font-size:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* About and resume */
.resume-actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px;margin-top:30px}.button{display:inline-flex;align-items:center;gap:26px;background:var(--accent);color:var(--bg);font-size:14px;font-weight:700;padding:13px 19px;border-radius:3px}.button:hover{background:#a0f3ff;color:var(--bg)}nav [aria-current=page]{color:var(--accent)}.resume-page{padding:0 5%}.bio{display:grid;grid-template-columns:1fr 1.2fr;gap:60px;padding:62px 0 68px;align-items:center}.bio h1{font-size:clamp(64px,7.5vw,100px);margin:25px 0 0}.bio-copy h2{font:500 27px/1.25 'Space Grotesk',sans-serif;letter-spacing:-.7px;margin-bottom:22px}.bio-copy p{color:var(--muted);margin-top:16px}.resume-document{padding-bottom:70px}.resume-preview{display:block;background:#dfe3d8;padding:34px;margin-top:10px}.resume-preview img{display:block;width:100%;max-width:1000px;height:auto;margin:auto;box-shadow:0 5px 25px #0002}.resume-document .section-label .text-link{font:14px 'DM Sans',sans-serif;letter-spacing:0}@media(max-width:760px){.resume-page{padding:0 6%}.bio{grid-template-columns:1fr;gap:32px;padding:40px 0}.bio h1{font-size:70px}.bio-copy h2{font-size:24px}.resume-preview{padding:8px}.resume-document{padding-bottom:40px}header .brand span{display:none}nav{gap:16px}.resume-actions{gap:18px}}

/* Project photography */
.build-photo{margin:25px 0;background:#171a17}.build-photo a{display:block}.build-photo img{display:block;width:100%;height:390px;object-fit:cover;object-position:center}.pip .build-photo img{object-position:center 45%}.build-photo figcaption,.watch-detail figcaption{font:11px/1.6 monospace;letter-spacing:1px;color:var(--muted);padding:12px 14px}.watch-detail{margin:23px 0 0}.watch-detail img{display:block;width:100%;height:auto}.watch-detail figcaption{padding-left:0}@media(max-width:760px){.build-photo img{height:360px}}@media(max-width:420px){.build-photo img{height:310px}}

.bio-portrait img{display:block;width:100%;height:auto;border-radius:4px}.bio-copy h1{font-size:clamp(45px,4.8vw,68px);margin:18px 0 24px;line-height:1.05}.bio-portrait{max-width:440px}.bio-copy h2{font-size:23px}@media(max-width:760px){.bio-portrait{max-width:350px;width:100%;margin:auto}.bio-copy h1{font-size:48px}.bio-copy h2{font-size:22px}}

/* Project lessons and future work */
.takeaways{border-top:1px solid var(--line);padding-top:23px;margin:0 0 24px}.takeaways h4{font:500 20px/1.4 'Space Grotesk',sans-serif;margin:0 0 18px}.takeaways dl{margin:0}.takeaways dt{font-size:14px;font-weight:700;color:var(--text);margin:16px 0 7px}.takeaways dd{margin:0;color:var(--muted);font-size:16px;line-height:1.65}.featured .takeaways{border-color:#a8af9f}.featured .takeaways dt{color:#1c2119}.featured .takeaways dd{color:#51594b}.future-projects{margin:65px 5% 0}.future-card{display:grid;grid-template-columns:1.1fr 1fr;gap:55px;border:1px solid var(--line);border-top:3px solid var(--accent);padding:38px;background:var(--panel)}.future-card h3{font:500 36px/1.15 'Space Grotesk',sans-serif;letter-spacing:-1px;margin:20px 0}.future-card p{color:var(--muted);font-size:16px}.future-card h4{font-size:16px;margin:0 0 10px}.future-plan p+h4{margin-top:26px}.future-card .tags{margin-bottom:0}.future-card .tags span{border-color:var(--line)}@media(max-width:760px){header{flex-wrap:wrap;gap:18px}nav{flex-wrap:wrap;font-size:13px;gap:16px}.future-projects{margin:45px 6% 0}.future-card{grid-template-columns:1fr;gap:30px;padding:26px}.future-card h3{font-size:30px}}

/* Preserve the full Casio collage and frame the featured prototype. */
.casio-photo img{height:auto;object-fit:contain}.featured.pip .feature-photo>img{object-position:center}.featured.pip{border-top:3px solid var(--accent)}
