:root{--navy:#0d2138;--blue:#1762d5;--ink:#172a40;--muted:#576577;--line:#d9e1e9;--paper:#f5f7fa}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);font-size:17px;line-height:1.6;background:#fff}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:3px solid #faac47;outline-offset:5px}.skip{position:absolute;left:16px;top:-100px;background:white;padding:12px;z-index:10}.skip:focus{top:10px}header{max-width:1320px;margin:auto;padding:28px 6%;display:flex;align-items:center;justify-content:space-between}.brand{font-size:25px;font-weight:800;display:flex;align-items:center;gap:18px;letter-spacing:-1px}.brand span{font-size:16px;letter-spacing:0;font-weight:600}nav{display:flex;gap:32px;font-size:14px;font-weight:600}nav a:hover,.text-link:hover,.contact-links a:hover{text-decoration:underline}.hero{background:var(--navy);color:#fff;padding:66px max(6%,calc((100vw - 1162px)/2));padding-bottom:28px}.eyebrow{font-size:13px;letter-spacing:2px;font-weight:700;margin-bottom:25px}h1{font-size:clamp(55px,7.6vw,106px);letter-spacing:-5px;line-height:1.04;margin:0 0 44px;font-weight:700}h1 em{color:#77adff;font-style:normal}.hero-bottom{display:flex;justify-content:space-between;align-items:center;gap:40px}.hero-bottom p{max-width:570px;font-size:21px;color:#d0dbe8;margin:0}.button{background:#fff;color:var(--navy);padding:16px 27px;font-weight:700;font-size:15px;white-space:nowrap;border-radius:3px}.button:hover{background:#dceaff}.hero-meta{display:flex;justify-content:space-between;border-top:1px solid #385069;margin-top:54px;padding-top:22px;font-size:13px;color:#bccdde}.results{display:grid;grid-template-columns:repeat(3,1fr);max-width:1162px;margin:auto;padding:40px 0;border-bottom:1px solid var(--line)}.results>div{padding:0 32px;border-right:1px solid var(--line)}.results>div:first-child{padding-left:0}.results>div:last-child{border:0}.results strong{display:block;font-size:43px;letter-spacing:-2px;line-height:1.2}.results span{font-size:14px;color:var(--muted)}.section{max-width:1320px;margin:auto;padding:88px 6%}.section .eyebrow{color:var(--blue)}h2{font-size:clamp(32px,4vw,49px);line-height:1.15;letter-spacing:-1.8px;margin:0 0 25px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:40px}.section-heading p{max-width:390px;color:var(--muted);margin-bottom:25px}.projects{display:grid;grid-template-columns:repeat(2,1fr);gap:25px}.project{border:1px solid var(--line);padding:32px;background:var(--paper);display:flex;flex-direction:column}.project-top{display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted)}.project-top span:first-child{color:var(--blue);letter-spacing:1px;font-weight:700}h3{font-size:25px;line-height:1.25;letter-spacing:-.5px;margin:24px 0 14px}.project>p{color:var(--muted);margin:0 0 26px}.outcome{margin-top:auto;border-top:1px solid var(--line);padding:22px 0}.outcome strong{font-size:33px;letter-spacing:-1px;display:block;line-height:1.3}.outcome span{font-size:14px;color:var(--muted)}summary{font-size:14px;font-weight:700;cursor:pointer;padding:12px 0;border-top:1px solid var(--line)}.detail{font-size:16px;color:var(--muted)}h4{color:var(--ink);margin-bottom:0}.detail p{margin-top:5px}.about{background:var(--paper);max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:90px;padding-left:max(6%,calc((100vw - 1162px)/2));padding-right:max(6%,calc((100vw - 1162px)/2))}.about>div>p{color:var(--muted);max-width:460px}.text-link{color:var(--blue);font-weight:700;display:inline-block;margin-top:16px;border-bottom:1px solid var(--blue)}.timeline article{padding:0 0 30px 25px;border-left:2px solid var(--line)}.timeline article:last-child{padding-bottom:0}.timeline span{font-size:13px;color:var(--muted)}.timeline h3{font-size:21px;margin:8px 0}.timeline p{font-size:16px;color:var(--muted);margin:8px 0}.timeline .role{color:var(--blue);font-weight:600}.skills{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.skills h3{font-size:20px}.skills p{color:var(--muted);font-size:16px}.contact{max-width:none;background:var(--navy);color:white;padding-left:max(6%,calc((100vw - 1162px)/2))}.contact .eyebrow{color:#77adff}.contact h2{max-width:800px}.email{display:inline-block;font-size:clamp(18px,3vw,32px);border-bottom:1px solid #77adff;overflow-wrap:anywhere;margin-top:15px}.contact-links{display:flex;gap:30px;margin-top:32px;font-size:15px;color:#c8d7e9}footer{display:flex;justify-content:space-between;padding:25px 6%;font-size:13px;color:var(--muted)}@media(min-width:1500px){header,.section{max-width:1390px}}@media(max-width:1250px){.results{margin:0 6%}}@media(max-width:700px){header{padding:20px 6%;align-items:start}.brand span{display:none}nav{gap:18px;font-size:13px}.hero{padding-top:48px}h1{letter-spacing:-2.5px}.hero-bottom{display:block}.hero-bottom p{font-size:18px}.button{display:inline-block;margin-top:25px}.hero-meta{display:block;font-size:12px;margin-top:35px}.hero-meta span{display:block}.results{padding:28px 0;gap:15px}.results>div{padding:0 12px 0 0}.results strong{font-size:28px;letter-spacing:-1px}.results span{font-size:12px;line-height:1.4;display:block;margin-top:7px}.section{padding:60px 6%}.section-heading{display:block;margin-bottom:28px}.section-heading p{margin-top:20px}.projects,.about,.skills{grid-template-columns:1fr;gap:24px}.project{padding:24px}.project-top{font-size:12px;flex-direction:column;gap:3px}.about{gap:40px}.skills{gap:10px}footer{gap:20px;font-size:12px}footer span:last-child{text-align:right}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.product-photo{margin:24px 0 0;background:#fff;text-align:center;padding:18px}.product-photo img{display:block;width:100%;height:300px;object-fit:contain}.product-photo figcaption{font-size:12px;color:var(--muted);margin-top:10px}.product-features{font-size:15px;color:var(--muted);padding-left:20px;margin:0 0 16px}.product-link{font-size:14px;color:var(--blue);font-weight:700;text-decoration:underline;margin-bottom:26px}.project:has(.product-photo){grid-row:span 2}@media(max-width:700px){.project:has(.product-photo){grid-row:auto}.product-photo img{height:260px}}

.product-gallery{display:grid;grid-template-columns:1fr 1fr;gap:12px}.product-gallery .product-photo{padding:12px}.product-gallery img{height:220px}.photo-credit{font-size:12px!important;margin:10px 0 0!important}.facts-heading{margin:0 0 10px}.product-facts{margin:0 0 24px;font-size:14px}.product-facts>div{display:grid;grid-template-columns:100px 1fr;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}.product-facts dt{font-weight:700}.product-facts dd{margin:0;color:var(--muted)}@media(max-width:480px){.product-gallery{grid-template-columns:1fr}.product-gallery img{height:230px}}

/* The portfolio reads as one vertical story. */
body{overflow-x:hidden}
header{gap:28px}
nav{align-items:center}
.work-menu{position:relative}
.work-menu>summary{border:0;padding:0;list-style:none;cursor:pointer;font-size:14px;font-weight:700;white-space:nowrap}
.work-menu>summary::-webkit-details-marker{display:none}
.work-menu>summary::after{content:"⌄";display:inline-block;margin-left:7px;color:var(--blue)}
.work-menu-links{position:absolute;top:calc(100% + 18px);left:0;z-index:5;min-width:250px;padding:10px;background:#fff;border:1px solid var(--line);box-shadow:0 15px 35px #0d21381c}
.work-menu-links a{display:block;padding:9px 12px;font-size:14px;line-height:1.35}
.work-menu-links a:hover,.work-menu-links a:focus-visible{background:var(--paper);text-decoration:none}
.section-heading{align-items:start}
.projects{display:flex;flex-direction:column;gap:0}
.project{display:block;background:#fff;border:0;border-top:1px solid var(--line);padding:55px 0 65px;min-width:0;scroll-margin-top:28px}
.project:has(.product-photo){grid-row:auto}
.project-top{justify-content:flex-start;gap:24px}
.project h3{font-size:clamp(30px,3.7vw,47px);margin:16px 0 16px;letter-spacing:-1.5px}
.project>p{max-width:760px;margin:0 0 19px}
.project .product-gallery{max-width:760px;gap:18px;margin:28px 0 0}
.project .product-photo{border:1px solid var(--line);margin:0;padding:16px}
.project .product-gallery img{height:300px;object-fit:contain}
.project .photo-credit{margin:8px 0 22px!important}
.project .product-facts{max-width:760px;margin-bottom:22px}
.project .product-facts>div{grid-template-columns:130px 1fr}
.project .product-link{display:inline-block;margin:7px 0 27px}
.project .outcome{max-width:760px;margin:26px 0 0;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.project .outcome strong{font-size:26px}
.project-notes{max-width:760px;margin-top:26px}
.project-notes .notes-label{font-size:17px;margin:0 0 12px;color:var(--blue)}
.project-notes .detail h4{font-size:15px;margin:16px 0 4px}
.project-notes .detail p{margin:0 0 12px}
.more-work{border-top:1px solid var(--line);padding-top:55px;scroll-margin-top:28px}
.more-work-intro{max-width:720px}
.more-work-intro h3{font-size:clamp(28px,3vw,39px);margin:0 0 12px}
.more-work-intro p{color:var(--muted);margin:0 0 25px}
.project-leads{list-style:none;margin:0;padding:0;max-width:890px}
.project-leads li{display:grid;grid-template-columns:minmax(220px,33%) 1fr;gap:26px;padding:20px 0;border-top:1px solid var(--line)}
.project-leads strong{font-size:17px;line-height:1.35}
.project-leads span{font-size:16px;color:var(--muted)}
@media(max-width:700px){header{align-items:center}nav{gap:13px}nav>a{font-size:13px}.work-menu>summary{font-size:13px}.work-menu-links{left:auto;right:-90px;min-width:min(280px,90vw)}.project{padding:42px 0 49px}.project-top{display:flex;gap:8px}.project .product-gallery{grid-template-columns:1fr;gap:12px}.project .product-gallery img{height:250px}.project .product-facts>div{grid-template-columns:100px 1fr}.project-leads li{display:block}.project-leads span{display:block;margin-top:7px}.hero-meta span{overflow-wrap:anywhere}}
@media(max-width:400px){header{align-items:flex-start}nav{flex-wrap:wrap;justify-content:flex-end}.work-menu-links{right:0}}

/* Single reading column for projects and supporting content. */
.section-heading{display:block;max-width:760px}
.section-heading p{max-width:680px;margin:0 0 30px}
.project{max-width:760px}
.project .product-gallery{display:block;max-width:640px}
.project .product-photo{margin:0 0 18px}
.project .product-gallery img{height:auto;max-height:510px;aspect-ratio:1/1}
.more-work{max-width:760px}
.project-leads li{display:block}
.project-leads span{display:block;margin-top:6px}
.about{display:block}
.about>div:first-child{margin-bottom:42px}
.timeline{max-width:760px}
.skills{grid-template-columns:1fr;max-width:760px;gap:4px}
@media(max-width:700px){.project .product-gallery img{max-height:380px}.results{grid-template-columns:1fr;gap:0}.results>div,.results>div:first-child{border-right:0;border-bottom:1px solid var(--line);padding:12px 0}.results>div:last-child{border-bottom:0}}
@media(max-width:700px){.work-menu-links{position:fixed;top:58px;left:4vw;right:4vw;width:auto;min-width:0}.work-menu-links a{padding:11px 14px}}

.sls-visual{max-width:640px;margin:22px 0 27px;background:#0d2138;padding:12px 12px 16px;color:#dce7f5}
.sls-visual video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;background:#0a1727;border:0}
.sls-visual figcaption{font-size:13px;line-height:1.5;margin:12px 4px 0}
.sls-visual figcaption strong{color:#fff}
.sls-visual figcaption a{color:#a7caff;text-decoration:underline}
@media(max-width:700px){.sls-visual{padding:8px 8px 13px}.sls-visual figcaption{font-size:12px}}
