@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800;900&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--ink:#15191e;--paper:#f8f6f1;--cyan:#00a5d6;--pink:#e72b79;--yellow:#f9d334;--line:#d8d7d2}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,.about-art,.ribbon,.footer-brand{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-weight:800;line-height:.94;letter-spacing:-1px}h2{font-size:clamp(44px,5vw,76px)}h3{font-size:20px;line-height:1.2}em{font-style:normal}section[id]{scroll-margin-top:95px}.topbar{padding:8px 4%;display:flex;justify-content:space-between;background:var(--ink);color:white;font-size:10px;letter-spacing:1.5px;font-weight:600}header{display:flex;align-items:center;justify-content:space-between;padding:15px 4%;background:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.brand img{width:218px;height:62px;object-fit:contain}nav{display:flex;align-items:center;gap:30px;font-size:13px;font-weight:700}nav a:not(.button):hover{color:#00789d}.menu{display:none}.button{border:0;display:inline-flex;justify-content:center;align-items:center;gap:22px;padding:17px 25px;background:var(--yellow);color:var(--ink);font-size:13px;font-weight:700;border-radius:2px;transition:transform .2s,background .2s}.button:hover{background:#ffe774;transform:translateY(-3px)}.button.small{padding:13px 19px;background:var(--ink);color:#fff}.button.small:hover{background:#00789d}.hero{display:grid;grid-template-columns:1.05fr 1fr;min-height:665px}.hero-copy{padding:65px 7% 35px 8%;display:flex;flex-direction:column}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;margin-bottom:23px;line-height:1.5}.dot{display:inline-block;width:8px;height:8px;background:var(--pink);border-radius:50%;margin-right:8px}h1{font-size:clamp(68px,7.2vw,112px);letter-spacing:-2px}h1 em{color:#0087b0}.intro{margin-top:26px;color:#53616a;font-size:17px;line-height:1.7}.actions{display:flex;align-items:center;gap:22px;margin:28px 0 45px}.text-link{font-weight:700;font-size:13px;border-bottom:1px solid currentColor;padding-bottom:4px}.hero-foot{margin-top:auto;border-top:1px solid var(--line);padding-top:18px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#657078}.hero-image{position:relative;background:#202326;overflow:hidden}.hero-image>.hero-video{height:100%;width:100%;object-fit:cover;object-position:50%;filter:brightness(.82)}.image-note{position:absolute;top:30px;left:30px;color:white;font-size:9px;font-weight:700;letter-spacing:2px}.play-link{position:absolute;bottom:45px;left:30px;color:white;font-size:13px;font-weight:600;display:flex;align-items:center;gap:15px}.play-link>span{display:grid;place-items:center;width:46px;height:46px;background:white;color:var(--ink);border-radius:50%}.cmyk{position:absolute;right:25px;bottom:38px;display:flex;flex-direction:column;gap:5px}.cmyk i{font-style:normal;width:30px;height:30px;display:grid;place-items:center;background:var(--cyan);font-size:11px;font-weight:700}.cmyk i:nth-child(2){background:var(--pink)}.cmyk i:nth-child(3){background:var(--yellow)}.cmyk i:nth-child(4){background:black;color:white}.ribbon{display:flex;align-items:center;justify-content:space-around;gap:35px;overflow:hidden;background:var(--yellow);padding:21px;font-size:29px;white-space:nowrap}.ribbon b{color:var(--pink);font-family:Arial}.section{padding:95px 6%;max-width:1600px;margin:auto}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:42px}.section-head>p{max-width:345px;color:#5c666f;font-size:15px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card{position:relative;background:#fff;border:1px solid var(--line);overflow:hidden}.service-card img{width:100%;height:220px;object-fit:cover;transition:transform .4s}.service-card:hover img{transform:scale(1.04)}.service-card .card-copy{padding:24px}.card-copy .number{color:#687079;font-size:10px;letter-spacing:2px;display:block;margin-bottom:14px}.card-copy h3{font-family:'Barlow Condensed',Impact,sans-serif;font-size:31px;letter-spacing:-.5px}.card-copy p{margin:12px 0 17px;color:#657078;font-size:13px}.card-copy a{font-size:12px;font-weight:700;border-bottom:2px solid var(--cyan)}.service-detail{margin-top:42px}.service-detail>.eyebrow{margin-bottom:15px}details{border-top:1px solid var(--line);padding:17px 0}details:last-child{border-bottom:1px solid var(--line)}summary{font-weight:600;font-size:15px;cursor:pointer}details p{max-width:900px;margin-top:13px;color:#59656f;font-size:14px}.work{background:#eae8e2;max-width:none}.filters{display:flex;flex-wrap:wrap;gap:10px;margin:30px 0}.filters button{background:transparent;border:1px solid #bebfb9;padding:10px 18px;border-radius:30px;font-size:12px;font-weight:600}.filters button.active{background:var(--ink);color:white;border-color:var(--ink)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.project{background:transparent;text-align:left;border:0;padding:0;position:relative}.project img{width:100%;height:285px;object-fit:cover;transition:filter .2s}.project:hover img{filter:brightness(.85)}.project span{display:flex;justify-content:space-between;font-weight:600;font-size:12px;margin-top:12px}.project[hidden]{display:none}.gallery-note{font-size:11px;color:#647078;margin-top:25px}.action{background:var(--ink);color:white;max-width:none}.action .section-head>p{color:#a9b4bb}.action h2{color:var(--yellow)}.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}video{width:100%;aspect-ratio:16/10;background:#07090b;object-fit:cover}.video-grid h3{margin-top:20px;font-size:18px}.video-grid p{font-size:12px;color:#a9b4bb;margin-top:8px}.about{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}.about-art{padding:40px;background:var(--cyan);font-size:clamp(56px,7vw,104px);position:relative;line-height:.86}.about-art em{color:#fff}.round{margin-top:28px;font-family:'DM Sans',Arial,sans-serif;font-size:10px;letter-spacing:2px;border-top:1px solid #005f7d;padding-top:20px}.about h2{font-size:clamp(44px,4.3vw,66px);margin-bottom:24px}.about p:not(.eyebrow){font-size:14px;color:#5a666f;margin-top:18px}.process{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;border-top:1px solid var(--line);padding-top:25px;margin-top:30px}.process b{color:#007c9e;font-size:11px}.process h3{font-size:13px;margin-top:9px}.process p{font-size:11px!important;margin-top:8px!important}.apparel-banner{display:grid;grid-template-columns:1.3fr .7fr;background:#f0b9cf;margin:0 6%;overflow:hidden}.apparel-banner>div{padding:55px 8%}.apparel-banner h2{font-size:60px}.apparel-banner p:not(.eyebrow){font-size:14px;margin:20px 0}.apparel-banner img{width:100%;height:100%;max-height:440px;object-fit:cover;object-position:50% 25%}.contact{display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact h2 em{color:var(--pink)}.contact>div>p:not(.eyebrow){font-size:14px;color:#5c6870;margin:25px 0}.contact-link{display:block;font-family:'Barlow Condensed',Impact,sans-serif;font-size:34px;font-weight:700}.contact-email{display:block;font-size:14px;margin:10px 0 28px}address{font-style:normal;font-size:13px;margin-bottom:15px}form{background:white;border:1px solid var(--line);padding:35px}form h3{font-family:'Barlow Condensed',Impact,sans-serif;font-size:31px;margin-bottom:23px}label{display:block;font-size:11px;font-weight:700;margin-bottom:17px}input,select,textarea{display:block;width:100%;border:1px solid #cdd1d2;background:#fafaf8;border-radius:2px;padding:12px;margin-top:7px;color:var(--ink);font-size:13px}textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-note{font-size:11px;color:#616b73;margin-bottom:20px}#form-status{font-size:12px;margin-top:15px}footer{background:var(--ink);color:white;padding:45px 6%;display:grid;grid-template-columns:1fr 1fr auto;gap:25px;align-items:center}.footer-brand{font-size:27px}.footer-brand span{color:var(--cyan)}footer p{font-size:12px;color:#c0c8cd}footer a:not(.footer-brand){font-size:12px}footer small{grid-column:1/-1;border-top:1px solid #40464c;padding-top:20px;font-size:10px;color:#b0bac2}dialog{border:0;background:var(--paper);padding:30px;max-width:92vw;max-height:92vh}dialog::backdrop{background:rgba(0,0,0,.85)}dialog img{max-height:75vh;max-width:85vw;object-fit:contain;margin:auto}dialog p{font-size:13px;margin-top:15px}.close{position:absolute;top:2px;right:5px;font-size:28px;border:0;background:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--pink);outline-offset:4px}.skip{position:fixed;top:-100px;z-index:99;background:white;padding:15px}.skip:focus{top:0}
@media(min-width:1700px){.hero-copy{padding-left:max(8%,calc((100vw - 1600px)/2))}}@media(max-width:1050px){nav{gap:16px}.hero{min-height:580px}h1{font-size:80px}.hero-copy{padding-top:45px}.hero-foot{flex-direction:column;gap:4px}.about{gap:35px}.contact{gap:35px}.section{padding:70px 5%}.project img{height:235px}}
@media(max-width:760px){.topbar span{display:none}.topbar{justify-content:center}header{padding:10px 5%;height:78px}.brand img{width:185px;height:50px}.menu{display:block;background:none;border:1px solid #d5d8d9;padding:8px 12px;font-size:12px}nav{display:none;position:absolute;top:78px;left:0;right:0;background:white;padding:25px;box-shadow:0 15px 20px #0002;flex-direction:column;align-items:stretch}nav.open{display:flex}.hero{grid-template-columns:1fr}.hero-copy{padding:42px 6% 30px}h1{font-size:78px;letter-spacing:-1px}.hero-image{height:330px}.hero-foot{flex-direction:row}.actions{gap:18px;margin-bottom:30px}.intro{font-size:16px}.ribbon{font-size:23px;justify-content:flex-start;padding:17px}.section{padding:60px 6%}.section-head{align-items:start;flex-direction:column;gap:22px}.section-head>p{max-width:none}.service-grid{grid-template-columns:1fr 1fr;gap:14px}.service-card img{height:160px}.card-copy h3{font-size:27px}.service-card .card-copy{padding:18px}.gallery{grid-template-columns:1fr 1fr;gap:15px}.project img{height:190px}.video-grid{grid-template-columns:1fr;gap:32px}.about{grid-template-columns:1fr;gap:35px}.about-art{font-size:84px;padding:35px}.about-art>span{display:block}.apparel-banner{margin:0;grid-template-columns:1fr 1fr}.apparel-banner>div{padding:35px 20px}.apparel-banner h2{font-size:43px}.contact{grid-template-columns:1fr;gap:35px}.contact h2{font-size:65px}form{padding:25px}footer{grid-template-columns:1fr auto}footer p{grid-column:1/-1;grid-row:2}footer small{grid-row:3}.process{gap:15px}h2{font-size:54px}}
@media(max-width:420px){h1{font-size:68px}.actions{flex-wrap:wrap}.service-grid{grid-template-columns:1fr}.service-card img{height:230px}.gallery{grid-template-columns:1fr}.project img{height:270px}.apparel-banner{grid-template-columns:1fr}.apparel-banner img{height:250px;object-position:50% 20%}.form-row{grid-template-columns:1fr;gap:0}.hero-foot{font-size:9px;gap:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

.hero-image>.hero-video{position:absolute;inset:0;height:100%;width:100%;object-fit:cover}.hero-motion{position:absolute;top:55px;left:30px;border:1px solid #ffffff80;background:#15191ecc;color:white;padding:7px 12px;font-size:10px;border-radius:2px;z-index:2}
/* Larger brand presence, with space reserved for navigation. */
header{padding-top:14px;padding-bottom:14px;gap:28px}.brand{flex-shrink:0}.brand img{width:360px;height:103px}html{scroll-padding-top:155px}section[id]{scroll-margin-top:155px}
@media(max-width:1100px) and (min-width:761px){header{gap:18px;padding-left:3%;padding-right:3%}.brand img{width:300px;height:86px}nav{gap:13px;font-size:12px}nav .button.small{padding:11px 13px}}
@media(max-width:900px) and (min-width:761px){header{flex-wrap:wrap;justify-content:center;gap:10px}nav{width:100%;justify-content:center;padding-bottom:5px}html{scroll-padding-top:175px}section[id]{scroll-margin-top:175px}}
@media(max-width:760px){header{height:110px;padding:12px 5%;gap:12px}.brand img{width:min(265px,65vw);height:82px}nav{top:110px}html{scroll-padding-top:125px}section[id]{scroll-margin-top:125px}}

.video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:760px){.video-grid{grid-template-columns:1fr}}

.hero-foot{align-items:center;flex-wrap:wrap}.hero-foot .experience-highlight{font-size:20px;font-weight:700;line-height:1.35;color:#000}@media(max-width:760px){.hero-foot .experience-highlight{font-size:18px}}

.video-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:760px){.video-grid{grid-template-columns:1fr}}

.video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:760px){.video-grid{grid-template-columns:1fr}}

.service-card img,.project img{object-fit:contain;background:#fff}.apparel-banner>img{object-fit:contain;background:#fff}

.animated-logo{display:block;width:360px;height:103px}.logo-gear{animation:logo-turn 24s linear infinite;transform-box:fill-box;transform-origin:center}@keyframes logo-turn{to{transform:rotate(360deg)}}@media(max-width:1100px) and (min-width:761px){.animated-logo{width:300px;height:86px}}@media(max-width:760px){.animated-logo{width:min(265px,65vw);height:82px}}@media(prefers-reduced-motion:reduce){.logo-gear{animation:none}}

/* Larger complete animated logo, with responsive header spacing. */
.animated-logo{width:460px;height:auto;aspect-ratio:219/97}header{gap:24px}html{scroll-padding-top:245px}section[id]{scroll-margin-top:245px}
@media(max-width:1250px) and (min-width:761px){header{flex-wrap:wrap;justify-content:center;gap:12px}.animated-logo{width:400px;height:auto}header nav{justify-content:center;flex-wrap:wrap;gap:20px}html{scroll-padding-top:270px}section[id]{scroll-margin-top:270px}}
@media(max-width:760px){header{height:auto;min-height:155px;padding:12px 4%;gap:10px}.animated-logo{width:min(330px,72vw);height:auto}nav{top:100%}html{scroll-padding-top:190px}section[id]{scroll-margin-top:190px}}

/* Larger contact information at the bottom left. */
.contact>div>.eyebrow{font-size:14px}.contact>div>h2{font-size:clamp(72px,6vw,94px)}.contact>div>p:not(.eyebrow){font-size:21px;line-height:1.65}.contact>div>.contact-link{font-size:clamp(30px,3vw,44px);font-weight:700}.contact>div>.contact-email{font-size:clamp(20px,2vw,28px);overflow-wrap:anywhere}.contact>div>address{font-size:24px;line-height:1.6}.contact>div>.text-link{font-size:18px}
@media(max-width:760px){.contact>div>h2{font-size:70px}.contact>div>p:not(.eyebrow){font-size:19px}.contact>div>address{font-size:22px}}

.hero-copy>.eyebrow{font-size:clamp(18px,1.8vw,24px);line-height:1.4;letter-spacing:1.5px}.hero-copy>.eyebrow .dot{width:11px;height:11px}

.ribbon{background:#0087b0;color:#fff}

.ribbon{justify-content:center;text-align:center;white-space:normal;padding:24px 4%;font-size:clamp(24px,3.2vw,46px);line-height:1.15}.ribbon>span{white-space:normal}

.ribbon{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 4%;font-weight:600;letter-spacing:0;font-size:clamp(26px,3vw,43px)}.ribbon>span{white-space:nowrap}@media(max-width:900px){.ribbon{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px;font-size:clamp(22px,4vw,34px)}.ribbon>span{white-space:normal;text-align:center}}@media(max-width:420px){.ribbon{gap:16px 12px;font-size:23px}}

.ribbon{display:flex;justify-content:center;flex-wrap:wrap;gap:14px 26px;font-family:'DM Sans',Arial,sans-serif;font-weight:500;letter-spacing:-.3px;font-size:clamp(22px,2vw,30px);line-height:1.35;padding:24px 4%}.ribbon>span{white-space:nowrap;text-align:center}@media(max-width:900px){.ribbon{display:flex;gap:12px 22px;font-size:24px}}@media(max-width:420px){.ribbon{gap:10px 18px;font-size:21px}}

/* Compact equipment video gallery */
.video-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;max-width:1080px;margin-inline:auto}
.video-grid video{aspect-ratio:16/9;object-fit:contain}
.video-grid h3{margin-top:14px}
@media(max-width:900px){.video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.video-grid{grid-template-columns:1fr;max-width:360px;gap:28px}}

.video-grid .equipment-still{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#07090b}

/* Larger service introduction */
#services .section-head > p{font-size:clamp(22px,2.2vw,28px);line-height:1.5;max-width:480px}

/* Readable Meet Spectra copy */
#about > div > p:not(.eyebrow){font-size:18px;line-height:1.65;color:#000}
#about .process p{font-size:16px;line-height:1.6;color:#000}
