@font-face{font-family:Manrope;src:url('assets/fonts/manrope-400.woff') format('woff');font-weight:400;font-display:swap}@font-face{font-family:Manrope;src:url('assets/fonts/manrope-600.woff') format('woff');font-weight:600;font-display:swap}@font-face{font-family:Manrope;src:url('assets/fonts/manrope-700.woff') format('woff');font-weight:700;font-display:swap}
:root{--ink:#142036;--blue:#143dee;--paper:#fff;--line:#c7cfdb;--muted:#43516a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font:400 16px/1.65 Manrope,Arial,sans-serif}a{color:inherit;text-underline-offset:5px}svg{width:22px;height:22px;flex:none}button,input,select{font:inherit}button,select{cursor:pointer}::selection{background:var(--blue);color:white}:focus-visible{outline:3px solid var(--blue);outline-offset:5px}img{display:block;max-width:100%}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip{position:fixed;left:16px;top:-100px;padding:12px 18px;background:white;z-index:10}.skip:focus{top:10px}header{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:25px 5%;border-bottom:1px solid var(--line)}.brand{font-size:26px;font-weight:700;letter-spacing:-.035em;line-height:1.1;text-decoration:none}.brand span{display:block;font-size:12px;letter-spacing:0;font-weight:400;margin-top:7px}header nav{display:flex;align-items:center;gap:28px}header nav>a,footer>a:last-child{display:inline-flex;align-items:center;gap:14px;min-height:46px;font-size:14px}.contact-button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:50px;padding:13px 22px;background:var(--blue);color:white;font-size:14px;font-weight:600;text-decoration:none}.contact-button:hover{background:#082bb9}.intro{max-width:1500px;margin:auto;padding:58px 5% 46px;display:grid;grid-template-columns:1.1fr 1fr;gap:7%;align-items:end}h1,h2{font-weight:700;letter-spacing:-.035em;text-wrap:balance}h1{font-size:clamp(42px,5.5vw,80px);line-height:1.07;margin:0}h1 span{color:var(--blue)}.intro-copy>p:first-child{font-size:18px;max-width:52ch;margin:0 0 16px}.disclosure{color:var(--muted);font-size:13px;max-width:66ch;margin:0}.collection{max-width:1500px;padding:0 5% 65px;margin:auto}.browse{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;margin-bottom:32px;display:flex;align-items:end;gap:28px}.browse label{display:block;font-size:12px;font-weight:600;margin-bottom:7px}.browse select,.browse input{color:var(--ink);border:1px solid #8290a5;border-radius:0;background:#fff;padding:10px 12px;min-height:46px;width:100%}.filter-group{min-width:270px}.search-group{width:300px}.browse>p{margin:0 0 10px auto;font-size:13px;font-variant-numeric:tabular-nums;color:var(--muted)}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px;row-gap:54px}.project{min-width:0;border-bottom:1px solid var(--line);padding-bottom:30px}.preview{display:block;position:relative;overflow:hidden;background:#e9edf1;aspect-ratio:16/9}.preview img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .35s cubic-bezier(.16,1,.3,1)}.preview>svg{position:absolute;right:12px;bottom:12px;width:40px;height:40px;padding:10px;background:white;color:var(--ink)}.preview:hover img{transform:scale(1.025)}.project-meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;margin:18px 0 9px;font-size:12px;color:var(--muted)}.project h2{font-size:30px;line-height:1.15;margin:0 0 13px}.project>p{max-width:64ch;margin:0 0 10px}.project .try-this{font-size:13px;color:var(--muted);margin:0 0 20px}.demo-button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:var(--blue);color:white;padding:12px 18px;min-height:48px;text-decoration:none;font-size:14px;font-weight:600}.demo-button:hover{background:#082bb9}details{margin-top:16px;font-size:13px}summary{cursor:pointer;min-height:44px;display:list-item;align-content:center;text-decoration:underline;text-underline-offset:4px}details ul{padding:0;list-style:none;margin:0}details a{display:inline-flex;align-items:center;gap:12px;min-height:44px}details svg{width:15px;height:15px}#empty{padding:50px 0}#empty h2{font-size:30px}#reset{padding:12px 20px;min-height:46px;background:var(--blue);color:white;border:0}.next{background:var(--blue);color:white;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:7%;padding:50px 5%}.next h2{font-size:clamp(35px,4vw,60px);line-height:1.1;margin:0}.next p{max-width:46ch;margin:0 0 20px;font-size:18px}.next .contact-button{background:white;color:var(--blue)}.next .contact-button:hover{background:#e7ecff}footer{display:grid;grid-template-columns:1fr 2fr auto;gap:45px;padding:35px 5%;background:var(--ink);color:#fff;align-items:start}footer .brand{font-size:23px}footer p{margin:0;max-width:76ch;font-size:12px;color:#d9e2f2}footer a:focus-visible{outline-color:white}
@media(min-width:1700px){header,.next,footer{padding-left:max(5%,calc((100vw - 1350px)/2));padding-right:max(5%,calc((100vw - 1350px)/2))}}
@media(max-width:800px){header{padding:20px 5%}header nav{gap:18px}header nav>a:first-child{display:none}.intro{grid-template-columns:1fr;gap:25px;padding:38px 5% 30px}.intro-copy>p:first-child{font-size:16px}.browse{flex-wrap:wrap;gap:15px}.filter-group,.search-group{min-width:0;flex:1;width:auto}.browse>p{width:100%;margin:0}.project-grid{column-gap:24px}.project h2{font-size:26px}.next{gap:30px}footer{grid-template-columns:1fr 2fr}footer>a:last-child{grid-column:2}}
@media(max-width:560px){header{flex-direction:column;align-items:stretch;gap:16px}header nav{width:100%;justify-content:space-between}header nav>a:first-child{display:inline-flex}.brand{font-size:22px}.brand span{font-size:12px}header nav .contact-button{font-size:12px;padding:11px 13px;gap:10px}header nav .contact-button svg{width:17px}.intro h1{font-size:42px}.browse{align-items:stretch}.filter-group,.search-group{flex-basis:100%}.project-grid{grid-template-columns:1fr;row-gap:34px}.project-meta{font-size:12px}.project h2{font-size:28px}.collection{padding-bottom:45px}.next{grid-template-columns:1fr;padding:35px 5%;gap:20px}.next h2{font-size:38px}.next p{font-size:16px}footer{display:flex;flex-direction:column;gap:20px}footer p{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.preview img{transition:none}.preview:hover img{transform:none}}
