@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#101112;--panel:#191a1c;--white:#f5f5f0;--muted:#a6a7a8;--cyan:#69d3f5;--pink:#f56cf6;--line:#353638}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--bg);color:var(--white);font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea,select{touch-action:manipulation}button{cursor:pointer}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,Arial,sans-serif}em{font-style:normal;color:var(--cyan)}:focus-visible{outline:3px solid var(--pink);outline-offset:5px}.skip{position:fixed;top:-100px;left:20px;background:var(--cyan);color:#101112;padding:15px;z-index:50}.skip:focus{top:15px}header{height:100px;padding:0 4.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;align-items:center;gap:14px;flex-shrink:0}.symbol{width:43px;height:34px;object-fit:contain}.wordmark{width:143px;height:auto}nav{display:flex;gap:34px;font-size:14px}nav a:hover{color:var(--cyan)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:19px 24px;border:1px solid #6a6b6c;border-radius:3px;font-size:14px;font-weight:600;transition:background .2s,transform .2s}.button:hover{background:#282b2e;transform:translateY(-2px)}.button span{font-size:21px;line-height:1}.small{padding:14px 18px}.cyan{background:var(--cyan);border-color:var(--cyan);color:#111}.cyan:hover{background:#a7e7fb}.hero{padding:52px 4.5% 0}.hero-copy{padding:18px 0 30px}.hero{display:grid;grid-template-columns:1.13fr 1fr;gap:38px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2px;line-height:1.8}.dot{display:inline-block;width:7px;height:7px;background:var(--cyan);border-radius:50%;margin-right:8px}.hero h1{font-size:clamp(58px,6.6vw,110px);line-height:1.01;letter-spacing:-5px;font-weight:500;margin:30px 0 33px}.hero h1 em{color:var(--pink)}.hero-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:28px}.hero-bottom p{font-size:15px;line-height:1.7;color:#c4c5c6}.hero-photo{position:relative;min-height:630px;overflow:hidden;border-radius:3px}.hero-photo>img{height:100%;width:100%;position:absolute;object-fit:cover;object-position:50% 48%;transition:transform .7s}.hero-photo:hover>img{transform:scale(1.035)}.hero-photo:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#08090bd9)}.photo-caption{position:absolute;bottom:29px;left:28px;right:28px;display:flex;align-items:center;justify-content:space-between;z-index:1;font-size:10px;letter-spacing:1.6px;line-height:2}.photo-caption strong{font-size:25px;letter-spacing:0;font-weight:500}.circle{display:grid;place-items:center;width:44px;height:44px;border:1px solid #ccc;border-radius:50%;font-size:25px}.vertical-caption{position:absolute;top:25px;right:20px;writing-mode:vertical-rl;font-size:9px;letter-spacing:2px}.hero-foot{grid-column:1/-1;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.8px;padding:0 0 30px;color:var(--muted)}.ticker{margin-top:13px;padding:24px 4.5%;display:flex;align-items:center;justify-content:space-between;gap:22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-family:Manrope,sans-serif;font-size:clamp(13px,1.65vw,27px);white-space:nowrap;overflow:hidden}.ticker b{color:var(--pink);font-size:27px;font-weight:400}.section{padding:105px 4.5%}.section-top{display:flex;justify-content:space-between;align-items:flex-start}.section-top>p:last-child{font-size:13px;color:var(--muted);line-height:1.7}.section h2{font-size:clamp(40px,4.3vw,72px);font-weight:500;line-height:1.12;letter-spacing:-2.7px;margin-top:27px}.projects h2 span{color:var(--muted)}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:37px 0 33px}.filters button{padding:11px 19px;border-radius:30px;background:transparent;border:1px solid var(--line);color:#d6d7d7;font-size:12px}.filters button.active{color:#111;background:var(--white);border-color:var(--white)}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:40px 25px}.project{border:0;padding:0;background:none;text-align:left;color:var(--white);min-width:0}.project-image{height:390px;overflow:hidden;position:relative;border-radius:3px;background:#252627}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.project:hover img{transform:scale(1.04)}.project-image .circle{position:absolute;right:20px;bottom:20px;background:#101112aa;border-color:#888}.project-meta{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:17px}.project-meta h3{font-size:21px;font-weight:500}.project-meta p{font-size:10px;text-align:right;color:var(--muted)}.gallery-note{font-size:12px;color:var(--muted);margin-top:30px}.solutions{border-top:1px solid var(--line);background:#18191b;display:grid;grid-template-columns:1fr 1.12fr;gap:8%}.intro{color:var(--muted);line-height:1.8;font-size:15px;margin-top:30px;max-width:340px}.service-list{padding-top:10px}.service-list details{border-bottom:1px solid #454648;padding:23px 0}.service-list summary{display:flex;align-items:center;gap:22px;list-style:none;font-size:23px;cursor:pointer}.service-list summary::-webkit-details-marker{display:none}.service-list summary span{font-size:10px;color:var(--muted)}.service-list summary b{margin-left:auto;font-size:22px;color:var(--cyan);font-weight:400}.service-list details p{color:var(--muted);font-size:14px;line-height:1.8;padding:20px 0 14px 36px}.service-list details a{font-size:12px;color:var(--cyan);margin-left:36px}.about{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.about-image{height:610px;overflow:hidden}.about-image img{height:100%;width:100%;object-fit:cover;object-position:center 47%}.about-copy>p:not(.eyebrow){font-size:15px;line-height:1.8;color:var(--muted);margin-top:22px}.about h2 em{color:var(--pink)}.location{border-top:1px solid var(--line);display:flex;gap:20px;margin-top:30px;padding-top:25px;align-items:flex-start}.location>span{font-size:28px;color:var(--cyan)}.location p{font-size:13px;line-height:1.8;color:var(--muted)}.location strong{font-weight:500;color:var(--white)}.contact{background:#202123;display:grid;grid-template-columns:1fr 1fr;gap:9%;border-top:1px solid var(--line)}.contact h2{font-size:clamp(48px,5.6vw,90px)}.contact>div>p:not(.eyebrow){margin-top:30px;color:var(--muted);line-height:1.8}.direct-contact{display:inline-block;margin-top:28px;border-bottom:1px solid #555;padding-bottom:8px;font-size:19px}form{padding:35px;background:#171819;border:1px solid #37383a;border-radius:4px}form h3{font-size:25px;font-weight:500}form>p{font-size:13px;color:var(--muted);margin:12px 0 28px}label{display:block;font-size:12px;margin-top:19px}input,select,textarea{display:block;width:100%;padding:13px 0;margin-top:5px;border:0;border-bottom:1px solid #555;background:transparent;color:var(--white);border-radius:0;font-size:14px}select option{background:#171819}textarea{resize:vertical}form .button{width:100%;margin:28px 0 17px}form small{display:block;font-size:10px;color:var(--muted);line-height:1.7}footer{padding:48px 4.5% 25px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:30px}footer>span{font-size:10px;line-height:1.8;letter-spacing:1.5px;color:var(--muted)}footer>a:last-of-type{font-size:12px}footer p{border-top:1px solid var(--line);width:100%;padding-top:25px;font-size:10px;color:#929394}dialog{border:1px solid #555;background:#171819;color:var(--white);padding:0;width:min(980px,92vw);max-height:90vh;overflow:auto;border-radius:5px}dialog::backdrop{background:#000c;backdrop-filter:blur(7px)}dialog>img{width:100%;height:55vh;object-fit:contain;background:#0e0f10}.close{position:absolute;right:12px;top:12px;border:1px solid #777;background:#111d;color:white;border-radius:50%;width:42px;height:42px;font-size:29px}.dialog-copy{padding:27px}.dialog-copy h3{font-size:29px;margin:9px 0}.dialog-copy>p:not(.eyebrow){color:var(--muted);line-height:1.6;margin-bottom:23px}
@media(min-width:1600px){header,.hero,.section,footer{padding-left:max(4.5%,calc((100vw - 1500px)/2));padding-right:max(4.5%,calc((100vw - 1500px)/2))}}@media(max-width:900px){header{height:85px}.brand{gap:9px}.wordmark{width:115px}.symbol{width:32px}nav{gap:19px}.hero{gap:24px;padding-top:30px}.hero h1{letter-spacing:-3px;font-size:65px}.hero-photo{min-height:550px}.hero-bottom p{font-size:13px}.project-image{height:300px}.solutions,.about,.contact{gap:35px}.service-list summary{font-size:19px}.about-image{height:570px}form{padding:24px}}@media(max-width:640px){header{height:76px;gap:12px}nav{display:none}header .small{font-size:10px;padding:11px;gap:14px}.wordmark{width:104px}.symbol{width:29px}.hero{grid-template-columns:1fr;gap:25px;padding-top:23px}.hero-copy{padding:10px 0 0}.eyebrow{font-size:9px;letter-spacing:1.5px}.hero h1{font-size:68px;line-height:1.02;margin:23px 0;letter-spacing:-3.8px}.hero-bottom{gap:22px}.hero-bottom p{font-size:14px}.hero-photo{min-height:470px}.hero-foot{font-size:8px;line-height:1.6;gap:20px;padding-bottom:20px}.hero-foot span:last-child{display:none}.ticker{justify-content:flex-start;font-size:17px;padding-top:16px;padding-bottom:16px;gap:22px}.section{padding-top:66px;padding-bottom:66px}.section-top>p:last-child{display:none}.section h2{font-size:43px;letter-spacing:-2px}.filters{gap:7px;margin:28px 0}.filters button{font-size:11px;padding:10px 13px}.gallery{grid-template-columns:1fr;gap:30px}.project-image{height:340px}.project-meta h3{font-size:21px}.solutions,.about,.contact{grid-template-columns:1fr}.service-list summary{font-size:22px}.intro{max-width:none}.about-image{height:390px}.about-copy{padding-top:8px}.contact h2{font-size:58px}form{margin-top:4px}footer .brand{width:auto}footer>span{display:none}footer{padding-top:30px}dialog>img{height:48vh}.dialog-copy .button{font-size:12px;gap:15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
