@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";:root{--ink:#182d2d;--paper:#f5f5ef;--muted:#626b66;--line:#d9ddd3;--accent:#d8e9a2}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:DM Sans,Arial,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #81a33c;outline-offset:6px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,Arial,sans-serif;line-height:1.12;letter-spacing:-.055em;font-weight:500}header{height:104px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:#132324;color:#fff}.brand{font:800 31px/1 Manrope,Arial,sans-serif;letter-spacing:-2px;display:block;width:160px}.brand span{color:var(--accent)}.brand small{display:block;font:500 9px/2.4 DM Sans,Arial,sans-serif;letter-spacing:4px}nav{display:flex;align-items:center;gap:40px;font-size:13px}nav a:hover{color:var(--accent)}.nav-cta{border:1px solid #647372;padding:12px 20px}.nav-cta span{margin-left:26px}.menu{display:none}.hero{height:min(820px,calc(100svh - 104px));min-height:650px;position:relative;color:#fff;background:#152827}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-image{object-position:center 48%}.hero-shade{background:linear-gradient(90deg,#061719d1,#0617191f),linear-gradient(0deg,rgba(7,24,25,.75),transparent 55%)}.hero-content{position:relative;padding:60px 7% 0}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.1px;line-height:1.5}.eyebrow i{display:inline-block;width:6px;height:6px;margin:0 10px 1px 0;background:var(--accent);border-radius:50%}h1{font-size:clamp(64px,7.7vw,114px);line-height:1.02;margin:30px 0 38px;letter-spacing:-.065em}h1 em{font-style:normal;color:var(--accent)}.hero-bottom{display:flex;justify-content:space-between;align-items:end;max-width:1080px}.hero-bottom p{font-size:15px;color:#e2e5df}.button{display:inline-flex;justify-content:space-between;gap:45px;align-items:center;font-size:13px;padding:18px 24px}.light{background:var(--accent);color:var(--ink)}.button:hover{background:#e8f5c0}.button span{font-size:21px}.hero-footer{position:absolute;bottom:24px;left:7%;right:7%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.6px;border-top:1px solid #ffffff45;padding-top:20px}.credential{padding:25px 7%;display:flex;justify-content:space-between;border-bottom:1px solid var(--line);font-size:9px;font-weight:600;letter-spacing:1.5px}.section{padding:100px 7%}.intro{display:grid;grid-template-columns:1fr 2fr;gap:60px}.dark{color:#5a6962}h2{font-size:clamp(36px,4.3vw,62px)}.intro-text{font-size:22px;line-height:1.5;margin:30px 0 18px;max-width:680px}.intro div>p:last-child{color:var(--muted);max-width:625px}.work{background:#eaece4}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px}.section-heading h2{margin-top:20px}.section-heading>p{font-size:13px;color:var(--muted)}.filters{display:flex;gap:10px;margin:38px 0 30px;flex-wrap:wrap}.filters button{border:1px solid #c9cec1;border-radius:2px;background:transparent;padding:9px 18px;font-size:12px}.filters .active{background:var(--ink);color:#fff;border-color:var(--ink)}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 28px;align-items:start}.project{border:0;background:none;text-align:left;padding:0;min-width:0}.project[hidden]{display:none}.project-image{aspect-ratio:4/3;position:relative;overflow:hidden}.project img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.project:hover img{transform:scale(1.035)}.view{position:absolute;right:16px;bottom:16px;background:var(--paper);padding:8px 12px;font-size:11px}.project-caption{display:flex;justify-content:space-between;align-items:center;padding-top:17px}.project h3{font-size:23px;letter-spacing:-.04em}.project p{font-size:11px;color:var(--muted);margin-top:6px}.small-note{font-size:12px;color:var(--muted);margin-top:30px}.expertise{display:grid;grid-template-columns:1fr 1.2fr;gap:8%}.expertise h2{margin:23px 0}.expertise-title>p:not(.eyebrow){color:var(--muted);font-size:14px}.text-link{display:inline-block;border-bottom:1px solid #7c8a7a;padding-bottom:6px;font-size:13px;margin-top:25px}.expertise-title img{display:block;width:100%;height:240px;object-fit:cover;margin-top:42px}.service-list details{border-top:1px solid var(--line)}.service-list details:last-child{border-bottom:1px solid var(--line)}summary{display:flex;gap:20px;align-items:start;cursor:pointer;list-style:none;padding:28px 0}summary::-webkit-details-marker{display:none}summary>span{font-size:11px;padding-top:5px;color:#72806e}summary h3{font-size:26px;letter-spacing:-.045em;line-height:1.2;flex:1}summary b{font-size:21px;font-weight:400}details[open] summary b{transform:rotate(45deg)}.service-body{padding:0 20px 28px 35px;color:var(--muted)}.service-body p{font-size:15px}.service-body small{display:block;font-size:10px;margin:17px 0;color:#56694e}.service-body a{font-size:12px;color:var(--ink);border-bottom:1px solid #bbb}.process{background:#1a3030;color:#f5f5ef;display:grid;grid-template-columns:1fr 1.2fr;gap:8%}.process .eyebrow{color:#bdd09f}.process h2{margin-top:24px}.process ol{list-style:none;margin:0;padding:0}.process li{border-top:1px solid #53605a;padding:22px 0;display:grid;grid-template-columns:90px 1fr;gap:10px 20px}.process li span{font-size:10px;color:var(--accent);padding-top:5px}.process li h3{font-size:24px;letter-spacing:-.035em}.process li p{grid-column:2;font-size:13px;color:#bcc5bc}.journal-label{font-size:10px;letter-spacing:1.2px;border:1px solid var(--line);padding:8px 12px}.journal-grid{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center;margin-top:45px}.journal-grid img{width:100%;height:330px;object-fit:cover}.journal-grid h3{font-size:37px;margin:23px 0}.journal-grid p:not(.eyebrow){color:var(--muted);font-size:14px}.journal-grid .small-note{font-size:11px!important;margin-top:14px}.contact{background:#263f3b;color:#fff}.contact h2{font-size:clamp(45px,6.5vw,90px);margin:30px 0 35px}.contact .eyebrow{color:var(--accent)}.contact-bottom{display:flex;justify-content:space-between;align-items:center;padding-bottom:35px;border-bottom:1px solid #688077}.contact-bottom p{font-size:15px;color:#d0d9d0}.contact-email{display:inline-block;margin-top:25px;font-size:17px}.existing-contact{display:block;font-size:12px;color:#c5d5c5;margin-top:10px}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:35px 7%;flex-wrap:wrap}footer p,footer>a:not(.brand){font-size:11px;color:var(--muted)}footer .brand{font-size:26px}footer .brand span{color:#849e53}.prototype{font-size:9px;letter-spacing:1px;color:#687363}dialog{max-width:95vw;width:1100px;padding:20px;background:var(--paper);border:0}dialog::backdrop{background:#061414e8}dialog img{display:block;max-height:75vh;width:100%;object-fit:contain}dialog h2{font-size:25px;margin-top:15px}.close{display:block;margin:0 0 15px auto;background:none;border:0;font-size:14px}.skip{position:fixed;top:-100px;left:20px;z-index:20;background:var(--accent);padding:12px}.skip:focus{top:10px}@media(min-width:1600px){.section{padding-left:max(7%,calc((100% - 1360px)/2));padding-right:max(7%,calc((100% - 1360px)/2))}}@media(max-width:760px){header{height:84px;padding:0 6%;position:relative;z-index:4}.brand{font-size:27px}.menu{display:block;border:1px solid #647372;background:none;color:#fff;padding:7px 12px;font-size:12px}.menu span{margin-left:14px}nav{display:none;position:absolute;top:84px;left:0;right:0;background:#132324;padding:20px 6% 28px;flex-direction:column;align-items:stretch;gap:20px}nav.open{display:flex}.nav-cta{max-width:220px}.hero{height:760px;min-height:0;max-height:calc(100svh - 84px)}.hero-content{padding:40px 6% 0}h1{font-size:clamp(54px,11.5vw,85px);margin:30px 0}.hero-bottom{align-items:start;flex-direction:column;gap:24px}.hero-bottom p{font-size:13px}.hero-image{object-position:58% center}.hero-shade{background:linear-gradient(90deg,#071a1bd6,#071a1b40),linear-gradient(0deg,#071a1bcc,transparent)}.hero-footer{left:6%;right:6%;font-size:8px}.hero-footer span{max-width:140px}.hero-footer a{max-width:100px;text-align:right}.credential{padding:22px 6%;display:grid;grid-template-columns:1fr 1fr;gap:15px;font-size:8px}.section{padding:65px 6%}.intro,.expertise,.process{grid-template-columns:1fr;gap:28px}h2{font-size:39px}.intro-text{font-size:19px;margin-top:23px}.intro div>p:last-child{font-size:14px}.section-heading{align-items:start;flex-direction:column;gap:20px}.project-grid{grid-template-columns:1fr;gap:30px}.project-image{aspect-ratio:4/3}.project h3{font-size:22px}.filters{gap:6px}.filters button{padding:8px 13px;font-size:11px}.expertise-title img{height:230px}.service-list{margin-top:15px}summary h3{font-size:25px}.process li{grid-template-columns:70px 1fr}.journal-grid{grid-template-columns:1fr;gap:28px;margin-top:30px}.journal-grid img{height:260px}.journal-grid h3{font-size:31px}.contact h2{font-size:50px}.contact-bottom{align-items:start;flex-direction:column;gap:25px}footer{gap:24px;padding:30px 6%}footer p{width:100%;order:4}.prototype{margin-left:auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}footer .social-links{display:flex;position:static;align-items:center;flex-wrap:wrap;gap:12px 22px;padding:0;background:transparent;color:var(--muted);font-size:11px}footer .social-links a:hover{color:var(--ink);text-decoration:underline}@media(max-width:760px){footer .social-links{width:100%;order:2}footer .prototype{order:3}footer>a:not(.brand){order:3}}.reels{background:#142929;color:var(--paper)}.reels .eyebrow{color:var(--accent)}.reels .section-heading>p{color:#b9c8bd}.reel-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:40px}.video-slot{aspect-ratio:16/9;background:#091817;overflow:hidden}.video-launch{display:block;width:100%;height:100%;position:relative;border:0;padding:0;background:#091817;color:#fff}.video-launch img{width:100%;height:100%;object-fit:cover;opacity:.65;transition:transform .4s,opacity .4s}.video-launch:hover img{transform:scale(1.03);opacity:.85}.play-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;border:1px solid #ffffff90;border-radius:50%;width:64px;height:64px;font-size:19px;padding-left:3px;background:#152b2966}.play-label{position:absolute;bottom:20px;left:22px;font-size:10px;letter-spacing:2px}.video-slot iframe{display:block;width:100%;height:100%;border:0}.reel>.eyebrow{margin:24px 0 12px;font-size:9px}.reel h3{font-size:29px;letter-spacing:-.04em}.reel>p:not(.eyebrow){font-size:14px;color:#c0cbc2;margin:14px 0}.reel>a{font-size:12px;border-bottom:1px solid #72877b;padding-bottom:5px;display:inline-block}.video-note{font-size:11px;color:#adbeb1;margin-top:32px}@media(max-width:760px){.reel-grid{grid-template-columns:1fr;gap:38px}.reel h3{font-size:27px}}.technical-preview{border-top:1px solid var(--line);background:#eaece4}.technical-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:40px}.technical-grid figure{margin:0}.technical-grid img{width:100%;display:block;aspect-ratio:16/9;object-fit:cover}.technical-grid figcaption{padding-top:20px}.technical-grid figcaption>span{font-size:9px;letter-spacing:1.6px;color:#566d43}.technical-grid h3{font-size:28px;margin:12px 0}.technical-grid p{font-size:14px;color:var(--muted);max-width:440px}@media(max-width:760px){.technical-grid{grid-template-columns:1fr;gap:35px}.hero-footer span{max-width:170px}}.hero-image-note{position:absolute;right:7%;bottom:80px;font-size:9px;letter-spacing:.5px;color:#e7ece5;background:#10272780;padding:3px 7px}.hero-image{object-position:65% center}@media(max-width:760px){.hero-image{object-position:63% center}.hero-image-note{right:6%;bottom:85px;font-size:8px}}.service-illustration{margin:42px 0 0}.expertise-title .service-illustration img{margin:0;height:260px}.service-illustration figcaption{font-size:10px;color:var(--muted);margin-top:7px}.preview-badge{position:absolute;top:14px;left:14px;padding:5px 9px;background:#102727db;color:#f5f5ef;font-size:8px;letter-spacing:1.2px}.project-image img{display:block}.reel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reel{display:flex;flex-direction:column;min-width:0}.reel>.video-slot{flex:none}.reel>a{align-self:flex-start;margin-top:auto}.reel>p:not(.eyebrow){margin-bottom:20px}@media(max-width:760px){.reel-grid{grid-template-columns:1fr}}header .brand{width:230px;flex-shrink:0}footer .brand{width:210px;flex-shrink:0}.brand-logo{display:block;width:100%;height:auto}@media(max-width:900px)and (min-width:761px){header nav{gap:22px}header .brand{width:210px}}@media(max-width:760px){header .brand{width:195px}footer .brand{width:195px}}.contact-layout{display:grid;grid-template-columns:.8fr 1.4fr;gap:8%;margin-top:45px}.contact-area{font-size:10px;letter-spacing:1.6px;color:var(--accent);margin-bottom:25px}.contact-intro>p:not(.contact-area){color:#d0d9d0;font-size:15px;max-width:310px}.contact-intro .contact-direct{font-size:12px!important;margin-top:10px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.inquiry-form label{display:block;font-size:12px;font-weight:500;color:#f5f5ef}.inquiry-form label>span:not(.optional){color:var(--accent)}.optional{font-size:10px;font-weight:400;color:#c0cec3;margin-left:5px}.inquiry-form input,.inquiry-form select,.inquiry-form textarea{display:block;width:100%;margin-top:9px;border:1px solid #78918a;background:#19342f;color:#fff;border-radius:0;padding:13px 14px;font:400 15px/1.5 DM Sans,Arial,sans-serif;min-height:49px}.inquiry-form input::placeholder,.inquiry-form textarea::placeholder{color:#b8c9bd}.inquiry-form input:focus,.inquiry-form select:focus,.inquiry-form textarea:focus{outline:2px solid var(--accent);outline-offset:3px}.inquiry-form textarea{resize:vertical;min-height:150px}.form-wide{grid-column:1/-1}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-mode{font-size:12px;line-height:1.6;color:#d6e3cd;margin:24px 0}.form-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.form-actions>span,.form-privacy{font-size:10px;color:#c2d0c5}.inquiry-form .button{border:0;min-width:190px}.inquiry-form button:disabled{opacity:.6;cursor:wait}.form-privacy{margin-top:17px}.form-status{font-size:14px;color:var(--accent);line-height:1.6;margin-top:20px}.form-status:empty{display:none}.form-status.is-error{color:#ffd6bf}#spam-check{margin-top:18px}@media(max-width:900px){.contact-layout{grid-template-columns:1fr;gap:38px}.contact-intro>p:not(.contact-area){max-width:500px}.contact-email{margin-top:15px}}@media(max-width:500px){.form-grid{grid-template-columns:1fr}.form-wide{grid-column:auto}.form-actions{align-items:start;flex-direction:column}.inquiry-form input,.inquiry-form select,.inquiry-form textarea{font-size:16px}}.blog-intro{padding-bottom:60px}.blog-intro h1{color:var(--ink);font-size:clamp(44px,6vw,82px);line-height:1.07;margin:24px 0}.blog-intro>p:last-child{max-width:610px;font-size:18px;color:var(--muted)}.blog-list{padding-top:20px}.blog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:65px 35px}.blog-card a{display:block}.blog-cover{aspect-ratio:16/10;overflow:hidden}.blog-cover img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s}.blog-card a:hover img{transform:scale(1.025)}.post-meta{display:flex;gap:10px 24px;flex-wrap:wrap;font-size:11px;color:var(--muted);margin:20px 0 14px}.blog-card h2{font-size:29px;line-height:1.2;letter-spacing:-.04em}.blog-card a>p:not(.post-meta){font-size:14px;color:var(--muted);margin:18px 0}.read-story{display:inline-block;font-size:12px;border-bottom:1px solid var(--line);padding-bottom:5px}.blog-cta{background:var(--ink);color:var(--paper)}.blog-cta h2{margin:24px 0 30px}.blog-cta .eyebrow{color:var(--accent)}.post-heading{max-width:1200px;margin:auto;padding-bottom:45px}.back-journal{display:inline-block;font-size:12px;margin-bottom:45px}.post-heading h1{font-size:clamp(38px,5vw,68px);line-height:1.13;letter-spacing:-.045em;margin:23px 0;max-width:1000px}.post-hero{max-width:1200px;margin:0 auto 60px;padding:0 5%}.post-hero img{display:block;width:100%;max-height:580px;object-fit:contain;background:#e8ebe2}.post-body{max-width:800px;padding:0 28px;margin:0 auto;font-size:17px;line-height:1.85;overflow-wrap:anywhere}.post-body p{margin:0 0 24px}.post-body h2{font-size:32px;line-height:1.25;letter-spacing:-.035em;margin:48px 0 20px}.post-body h3{font-size:25px;line-height:1.35;margin:34px 0 16px;letter-spacing:-.025em}.post-body h4{font-size:21px;margin:28px 0 16px}.post-body img{display:block;width:auto;max-width:100%;max-height:680px;height:auto;margin:35px auto}.post-body figure{margin:35px 0}.post-body figcaption{font-size:12px;line-height:1.5;color:var(--muted);text-align:center}.post-body a{text-decoration:underline;text-underline-offset:3px;color:#365f42}.post-body li{margin-bottom:12px}.post-body iframe{display:block;width:100%;aspect-ratio:16/9;height:auto;border:0;margin:35px 0}.post-body blockquote{border-left:3px solid #8ca265;margin:30px 0;padding:0 0 0 25px}.post-body table{display:block;overflow:auto;max-width:100%}.post-end{max-width:800px;margin:55px auto 80px;padding:30px 28px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:25px;font-size:12px}.related{background:#eaece4}.related h2{margin:20px 0 35px}.related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.related-grid img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}.related-grid h3{font-size:22px;line-height:1.3;margin:20px 0;letter-spacing:-.03em}.related-grid span{font-size:12px}.homepage-posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:40px}.homepage-posts img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}.homepage-posts h3{font-size:24px;line-height:1.25;letter-spacing:-.035em;margin:18px 0}.homepage-posts p{font-size:13px;color:var(--muted)}.homepage-posts .post-meta{font-size:10px}.homepage-posts .read-story{margin-top:20px}@media(max-width:760px){.blog-grid,.related-grid,.homepage-posts{grid-template-columns:1fr}.blog-intro h1{font-size:43px}.post-heading h1{font-size:38px}.post-heading{padding-top:45px}.post-hero{margin-bottom:40px}.post-body{font-size:16px;padding:0 6%}.post-body h2{font-size:28px}.post-end{flex-direction:column;margin-bottom:55px}.blog-card h2{font-size:27px}.homepage-posts{gap:38px}}
