@import url('https://fonts.googleapis.com/css2?family=Bodoni+Moda:ital,wght@1,400;1,500&family=Manrope:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#0b0b0b;--fg:#edf0f3;--muted:#a4abb3;--line:#30343a;--aluminium:#bcc4cd;--platinum:#e3e7ec;--steel:#7f8b98;font-family:'Manrope',Arial,sans-serif;font-synthesis:none;font-weight:400;line-height:1.5;background:var(--bg);color:var(--fg)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:115px}body{margin:0}a{color:inherit;text-decoration:none}a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:7px}::selection{color:#0b0b0b;background:#d0d7df}h1,h2,h3,p,figure{margin:0}em{font-family:'Bodoni Moda',Georgia,serif;font-weight:400;font-optical-sizing:auto;letter-spacing:-.065em}svg{fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}.icon-definitions{position:absolute;width:0;height:0;overflow:hidden}.icon{width:20px;height:20px;flex-shrink:0}.wrap{width:calc(100% - 112px);max-width:1344px;margin-inline:auto}.skip{position:fixed;left:1rem;top:-10rem;z-index:99;background:var(--fg);color:var(--bg);padding:1rem}.skip:focus{top:1rem}.header{position:sticky;top:0;background:rgba(11,11,11,.94);backdrop-filter:blur(18px);z-index:10}.nav{height:101px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:block;width:84px;height:84px;margin-left:-21px}.brand img{width:100%;height:100%;display:block}nav{display:flex;align-items:center;gap:38px;font-size:.875rem}nav>a{transition:color .2s}nav>a:hover{color:#bbb}.nav-cta{display:flex;align-items:center;gap:27px;border:1px solid #424a54;border-radius:2px;padding:12px 18px;margin-left:15px}.nav-cta:hover{border-color:#aaa}.hero{padding-top:66px;display:grid;grid-template-columns:1.15fr 1fr;gap:18px 30px;align-items:center}.eyebrow{font-size:.75rem;font-weight:500;letter-spacing:.13em;display:flex;align-items:center;gap:14px;color:#c2cad3}.rule{display:inline-block;height:1px;width:30px;background:#8b98a5}h1{font-size:clamp(4.4rem,7.1vw,7.1rem);font-weight:400;letter-spacing:-.065em;line-height:1.08;margin:38px 0 28px}h1 em{white-space:nowrap}.hero-description{font-size:1.0625rem;line-height:1.8;color:var(--muted)}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:34px;background:var(--fg);color:var(--bg);font-size:.9375rem;font-weight:500;padding:7px 7px 7px 22px;min-height:58px;border:1px solid var(--fg);border-radius:2px;transition:background .2s,color .2s,transform .2s}.button>span{display:grid;place-items:center;width:42px;height:42px;border-left:1px solid #a7b0bb}.button:hover{background:#d2d9e2;transform:translateY(-2px)}.hero .button{margin-top:32px}.hero-art{min-width:0;padding:12px 0 0}.art-frame{position:relative;aspect-ratio:1;display:grid;place-items:center;overflow:hidden}.sculpture{width:100%;height:100%;object-fit:contain;display:block;animation:arrive 1.3s ease-out both}.corner{position:absolute;width:13px;height:13px;z-index:1;opacity:.55}.corner-tl{top:0;left:0;border-top:1px solid #8b99a8;border-left:1px solid #8b99a8}.corner-tr{top:0;right:0;border-top:1px solid #8b99a8;border-right:1px solid #8b99a8}.corner-bl{bottom:0;left:0;border-bottom:1px solid #8b99a8;border-left:1px solid #8b99a8}.corner-br{bottom:0;right:0;border-bottom:1px solid #8b99a8;border-right:1px solid #8b99a8}.hero-art figcaption{display:flex;justify-content:space-between;color:#929eaa;font-size:.75rem;letter-spacing:.095em;margin-top:22px}.hero-bottom{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);margin-top:36px;padding:22px 0;color:#a3adb8;font-size:.8125rem}.hero-bottom a{color:#d5dce4}.hero-bottom a span{display:inline-block;margin-left:28px}.section{padding:100px 0;border-bottom:1px solid var(--line)}.section-label{display:flex;gap:15px;align-items:center;font-size:.75rem;letter-spacing:.09em;color:#b5bec9;white-space:nowrap}.index{font-size:.75rem;border:1px solid #45505d;border-radius:50%;display:grid;place-items:center;width:29px;height:29px;letter-spacing:0}.studio{display:grid;grid-template-columns:1fr 2fr;gap:50px}.studio>.section-label{align-self:start;margin-top:8px}h2{font-size:clamp(2.9rem,4.5vw,4.7rem);line-height:1.13;font-weight:400;letter-spacing:-.055em}.studio h2 em{color:#a7b2bf}.studio-bottom{display:grid;grid-template-columns:1.1fr 1fr;gap:38px;margin-top:36px}.studio-bottom p{font-size:1rem;line-height:1.85;color:var(--muted)}.section-top{display:flex;justify-content:space-between;align-items:flex-start;gap:32px;margin-bottom:52px}.section-top>.section-label{margin-top:10px}.section-top h2{width:calc(66.667% - 17px)}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}.service{padding:30px 27px 0;min-width:0;background:linear-gradient(150deg,#141414 0%,#0b0b0b 68%);border-right:1px solid var(--line);display:flex;flex-direction:column;transition:background .3s}.service:last-child{border:0}.service:hover{background:#151514}.service-top{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:42px}.service-top>span{font-size:.75rem;color:#a0acba;letter-spacing:.065em}.service-icon{width:48px;height:48px;stroke-width:1.25;color:#dce3ec}.service h3{font-size:clamp(1.5rem,2.1vw,2.2rem);line-height:1.25;font-weight:400;letter-spacing:-.035em}.service>p{font-size:1rem;line-height:1.8;color:var(--muted);margin:22px 0 26px}.service-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:0;margin-bottom:30px}.service-tags span{font-size:.75rem;color:#b9c5d3;border:1px solid #36414d;border-radius:30px;padding:6px 10px}.service details{border-top:1px solid #35414e;margin-top:auto}.service summary{list-style:none;display:flex;justify-content:space-between;gap:12px;align-items:center;padding:20px 0;cursor:pointer;font-size:.875rem}.service summary::-webkit-details-marker{display:none}.service summary .icon{width:17px;height:17px;transition:transform .2s}.service details[open] summary .icon{transform:rotate(45deg)}.service details ul{padding:0 0 26px 17px;margin:0;color:#bbc6d3;font-size:.875rem;line-height:1.8}.service details li+li{margin-top:8px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;list-style:none;margin:0;padding:0}.steps li{padding-right:36px;position:relative}.steps li:last-child{padding-right:0}.step-track{display:flex;align-items:center;gap:16px;font-size:.75rem;color:#aab6c3;margin-bottom:35px}.step-track i{height:1px;background:#45505d;flex:1;position:relative}.step-track i::after{content:'';width:5px;height:5px;position:absolute;right:0;top:-2px;background:#9daebe}.steps h3{font-size:1.65rem;letter-spacing:-.03em;font-weight:400;margin-bottom:14px}.steps p{color:var(--muted);font-size:1rem;line-height:1.8;max-width:245px}.step-output{display:block;color:#d4dde7;font-size:.8125rem;margin-top:25px}.contact{background:#eaeae3;color:#151511;margin-top:110px;padding:70px 0 74px;position:relative;overflow:hidden}.contact .section-label{color:#595951}.contact .index{border-color:#acaca1}.contact-top{display:flex;justify-content:space-between;align-items:flex-start}.contact-arrow{width:68px;height:68px;stroke-width:.6}.contact h2{font-size:clamp(4.4rem,8.2vw,8rem);letter-spacing:-.06em;line-height:1.05;margin-top:26px}.contact h2 em{color:#606056}.contact-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-top:38px}.contact-bottom p{font-size:1rem;line-height:1.8;color:#56564e}.button-dark{color:#edf0f3;background:#141412;border-color:#141412}.button-dark>span{border-color:#454540}.button-dark:hover{background:#35414e}.footer-top{display:flex;align-items:center;gap:40px;padding:35px 0}.footer-brand{display:flex;align-items:center;gap:9px;margin-right:auto;margin-left:-18px}.footer-brand img{width:72px;height:72px}.footer-brand>span{font-size:.875rem;letter-spacing:.065em}.footer-brand small{display:block;font-size:.75rem;color:#a2adba;letter-spacing:0;margin-top:3px}.footer-top>a{display:flex;gap:13px;align-items:center;font-size:.875rem}.footer-top .icon{width:14px;height:14px}.footer-bottom{border-top:1px solid var(--line);padding:23px 0 30px;display:flex;justify-content:space-between;align-items:center;color:#929faa;font-size:.75rem}.footer-bottom a{color:#c2cedb}.footer-bottom a span{margin-left:17px}@keyframes arrive{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.reveal{transition:opacity .7s ease,transform .7s ease}.reveal.pending{opacity:0;transform:translateY(20px)}

/* Brushed aluminium: cool highlights, fine grain and restrained reflections. */
body{background:radial-gradient(ellipse at 84% 9%,rgba(134,156,182,.045),transparent 33%),var(--bg)}
.header{background:rgba(11,11,11,.92);box-shadow:0 1px 0 rgba(175,193,212,.03)}
.nav{border-image:linear-gradient(90deg,#2a3038,#6e7d8f55,#2a3038) 1}
nav{font-size:.875rem;font-weight:500;letter-spacing:.015em}
.nav-cta{border-color:#727e8e66;background:linear-gradient(125deg,rgba(182,198,218,.10),rgba(182,198,218,.015));box-shadow:inset 0 1px 0 #e4edff0a}
.nav-cta:hover{border-color:#acb9cb;background-color:#202832}
h1{font-feature-settings:'ss01' on}
h1 em,.studio h2 em,.section-top h2 em{color:#c8d2df;background:linear-gradient(115deg,#f3f6fa 0%,#9ba9bc 34%,#e0e7ef 64%,#aab7c8 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;padding-right:.04em}
.hero-description{letter-spacing:.005em;max-width:460px}
.button{background:linear-gradient(115deg,#f0f3f7 0%,#cbd2db 25%,#f5f7fa 51%,#b3bdcb 100%);border-color:#e8edf4;color:#141b24;box-shadow:inset 0 1px 0 #fff,0 4px 20px #b1c4df0b;transition:box-shadow .25s,transform .25s,filter .25s}
.button:hover{background:linear-gradient(115deg,#fff 0%,#d7dfe9 30%,#eef3f9 62%,#c6d1df 100%);box-shadow:inset 0 1px 0 #fff,0 6px 28px #9baec026}
.button>span{border-color:#8796a966}
.art-frame{background:#0b0b0b;border:1px solid #8395aa16;box-shadow:inset 0 0 100px #9caec009}
.hero-art figcaption{font-size:.75rem;letter-spacing:.12em}
.corner{opacity:.75}
.section-label{letter-spacing:.13em;font-weight:500}
.index{background:linear-gradient(145deg,#bfcede16,#728ba003);border-color:#697d934f;color:#c8d4e2;box-shadow:inset 0 1px 0 #edf6ff0b}
h2{letter-spacing:-.052em;line-height:1.2}
.studio-bottom p,.service>p,.steps p{letter-spacing:.005em}
.services-grid{gap:18px;border:0;align-items:start}
.service{height:100%;border:1px solid #697b9140;border-radius:3px;background:linear-gradient(137deg,#222a33 0%,#151a20 26%,#111418 75%);box-shadow:inset 0 1px 0 #d9e6f512;position:relative;isolation:isolate;padding-top:32px;transition:border-color .25s,box-shadow .25s,transform .25s}
.service:last-child{border:1px solid #697b9140}
.service::before{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:-1;background:repeating-linear-gradient(0deg,transparent 0 3px,#c1d1e702 3px 4px)}
.service:hover{background:linear-gradient(137deg,#29333f,#171d25 35%,#131820);border-color:#8ca2bc88;box-shadow:inset 0 1px 0 #f0f7ff29,0 12px 40px #0003;transform:translateY(-3px)}
.service-top{min-height:70px;margin-bottom:32px}
.service-icon{width:64px;height:64px;padding:13px;border:1px solid #a9bfd044;border-radius:3px;background:linear-gradient(145deg,#c9d9ed21,#53677c0c);color:#d6e2f2;box-shadow:inset 0 1px 0 #eff8ff1c,0 3px 10px #0002}
.service h3{font-weight:500;font-size:clamp(1.5rem,2vw,2rem);letter-spacing:-.04em}
.service-tags span{border-color:#6c829d40;background:#9bafc60a;font-size:.75rem;letter-spacing:.02em}
.service summary{font-weight:500;color:#d7e2ee;padding-block:22px}
.service details{border-color:#8499b83a}
.step-track i{background:linear-gradient(90deg,#93a5bd80,#46505e4d)}
.step-track i::after{background:#bacde3;box-shadow:0 0 8px #b6cde32e}
.steps h3{font-weight:500;letter-spacing:-.04em}
.step-output{font-size:.8125rem;color:#acbbcf}
.contact{background:linear-gradient(116deg,#d9dfe7 0%,#b2bdca 25%,#e9edf2 49%,#c8d1dd 73%,#a9b5c6 100%);color:#141d2a;border-top:1px solid #f2f7fd;border-bottom:1px solid #6d7e95;box-shadow:inset 0 1px 0 #fff,0 -20px 100px #afc4e008}
.contact::before{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,#fff0 0 2px,#f1f6ff21 2px 3px);opacity:.45}
.contact>.wrap{position:relative}
.contact .section-label{color:#354256}
.contact .index{color:#25354b;border-color:#485c7370;background:#d9e4f21a;box-shadow:inset 0 1px 0 #fff4}
.contact h2{letter-spacing:-.065em;line-height:1.12}
.contact h2 em{color:#43546e;letter-spacing:-.07em}
.contact-bottom p{color:#36445a}
.button-dark{background:linear-gradient(135deg,#263546,#111923 65%);border-color:#2c3a4d;color:#eef4fc;box-shadow:inset 0 1px 0 #b9cee433,0 5px 14px #34445b20}
.button-dark:hover{background:linear-gradient(135deg,#35475e,#1b2635);box-shadow:inset 0 1px 0 #d2e5fa40,0 6px 22px #34445b35}
.button-dark>span{border-color:#d5e5ff33}
.footer-brand>span{font-weight:600;letter-spacing:.085em}
@supports not (-webkit-background-clip:text){h1 em,.studio h2 em,.section-top h2 em{background:none;color:#c8d2df;-webkit-text-fill-color:currentColor}}

/* The production submark shares the aluminium brand material. */
.studio-identity{align-self:start;padding-top:8px}
.studio-emblem{position:relative;width:250px;max-width:100%;aspect-ratio:1;margin-top:24px;display:grid;place-items:center}
.studio-production-mark{display:block;width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 8px 14px #0004)}
.step-heading{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.step-heading h3{margin:0}
.step-symbol{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:3px;border:1px solid #9aafc747;background:linear-gradient(135deg,#a9c0df21,#4b627807 72%);box-shadow:inset 0 1px 0 #e5f0ff24,0 4px 12px #0003}
.step-symbol svg{width:30px;height:30px;stroke:url(#metal-stroke);stroke-width:1.25}
@media(max-width:1050px) and (min-width:761px){.studio-emblem{width:225px}.step-heading{gap:10px}.step-symbol{flex-basis:40px;width:40px;height:40px}.steps h3{font-size:1.35rem}}
@media(max-width:760px){.studio-identity{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0}.studio-emblem{width:92px;flex-shrink:0;margin:0}.studio{gap:23px}}
@media(prefers-reduced-motion:no-preference){.step-symbol{transition:border-color .3s,box-shadow .3s}.steps li:hover .step-symbol{border-color:#c0d2e789;box-shadow:inset 0 1px 0 #e5f0ff42,0 4px 18px #9bb9dd0b}}

@media(min-width:1600px){.hero{padding-top:85px;padding-bottom:10px}}
@media(max-width:1050px){.wrap{width:calc(100% - 72px)}h1{font-size:clamp(3.9rem,7.8vw,6rem)}.hero{gap:20px}.hero-description{font-size:1rem}.studio{grid-template-columns:1fr 2fr;gap:30px}.studio-bottom{grid-template-columns:1fr;gap:18px}.service{padding:25px 20px 0}.service-top{align-items:flex-start;flex-direction:column;gap:20px;margin-bottom:28px}.service h3{font-size:1.75rem}.steps li{padding-right:24px}.contact-bottom{align-items:flex-start;flex-direction:column}.contact h2{font-size:6rem}}
@media(max-width:760px){html{scroll-padding-top:95px}.wrap{width:calc(100% - 48px)}.nav{height:83px}.brand{width:72px;height:72px;margin-left:-18px}nav{gap:25px}nav a:nth-child(2){display:none}.nav-cta{margin:0;padding:10px 12px;gap:16px}.hero{grid-template-columns:1fr;padding-top:44px;gap:0}.hero-copy{position:relative;z-index:1}h1{font-size:clamp(4.5rem,12vw,6rem);margin:31px 0 24px}.hero-description{font-size:1rem}.hero-art{width:75%;max-width:390px;margin:25px auto 0}.hero-art figcaption{margin-top:15px;font-size:.75rem}.hero-bottom{margin-top:30px;font-size:.75rem;padding:20px 0}.hero-bottom a span{margin-left:12px}.section{padding:70px 0}.studio{grid-template-columns:1fr;gap:29px}h2{font-size:clamp(2.6rem,7vw,3.7rem)}.studio-bottom{grid-template-columns:1fr 1fr;gap:25px;margin-top:28px}.section-top{display:block;margin-bottom:35px}.section-top>.section-label{margin:0 0 26px}.section-top h2{width:auto}.services-grid{grid-template-columns:1fr}.service{padding:28px 26px 0;border:1px solid #697b9140}.services-grid{gap:16px}.service-top{flex-direction:row;align-items:center;margin-bottom:30px}.service h3{font-size:1.9rem}.service>p{max-width:520px;margin:18px 0 25px}.service-tags{margin-bottom:25px}.steps{grid-template-columns:1fr 1fr;gap:36px 24px}.steps li{padding:0}.step-track{margin-bottom:24px}.steps p{max-width:none}.contact{margin-top:65px;padding:45px 0 50px}.contact h2{font-size:clamp(3.8rem,10.5vw,5.6rem);margin-top:36px}.contact-arrow{width:45px;height:45px}.contact-bottom{gap:25px;margin-top:28px}.footer-top{gap:25px}.footer-bottom>span{display:none}}
@media(max-width:430px){.wrap{width:calc(100% - 40px)}nav{gap:18px;font-size:.8125rem}.nav-cta{gap:13px}.nav-cta .icon{width:16px;height:16px}.eyebrow{font-size:.75rem;letter-spacing:.09em}.rule{width:22px}.hero{padding-top:37px}h1{font-size:clamp(3.8rem,14vw,4.8rem);letter-spacing:-.06em;line-height:1.02}.hero .button{margin-top:26px}.hero-art{width:76%;margin-top:35px}.hero-bottom{align-items:flex-start;gap:20px}.hero-bottom>span{max-width:120px}.hero-bottom a{max-width:130px}.studio-bottom{grid-template-columns:1fr;gap:16px}h2{font-size:2.6rem}.steps{grid-template-columns:1fr;gap:30px}.steps p{max-width:290px}.steps li{padding:0}.steps h3{font-size:1.7rem}.step-output{margin-top:15px}.contact h2{font-size:clamp(3.4rem,12.2vw,4.5rem)}.contact .button{gap:12px;font-size:.875rem;padding-left:15px;max-width:100%}.button>span{width:38px}.contact .section-label{font-size:.75rem;gap:10px}.contact-arrow{width:32px;height:32px}.footer-top{flex-wrap:wrap;gap:25px;padding:26px 0}.footer-brand{width:100%}.footer-top>a{margin-right:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.sculpture{animation:none}.reveal,.button,.service,.service summary .icon{transition:none}.reveal.pending{opacity:1;transform:none}}

/* Three disciplines converge in one aluminium expertise submark. */
.expertise .expertise-top{display:grid;grid-template-columns:1fr 2fr;gap:50px;align-items:center;margin-bottom:42px}
.expertise-top>h2{width:auto}
.expertise-identity{padding-top:8px;align-self:start}
.expertise-emblem{display:block;width:205px;max-width:100%;height:auto;aspect-ratio:1;margin-top:22px;object-fit:contain;filter:drop-shadow(0 8px 14px #0004)}
@media(max-width:1050px) and (min-width:761px){.expertise .expertise-top{gap:30px}.expertise-emblem{width:190px}}
@media(max-width:760px){.expertise .expertise-top{grid-template-columns:1fr;gap:29px;margin-bottom:35px}.expertise-identity{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0}.expertise-emblem{width:92px;flex-shrink:0;margin:0}}

/* Solid aluminium service glyphs, with dark inset details. */
.service-icon{width:68px;height:68px;padding:5px;border:0;border-radius:0;background:none;box-shadow:none;filter:drop-shadow(0 3px 2px #0005)}
