:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{background:#111110;margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}img{object-fit:cover}::selection{color:#111110;background:#d8c8b6}:focus-visible{outline-offset:6px;outline:2px solid #a69889}.site{--bg:#111110;--fg:#f3eee4;--muted:#b5afa5;--line:#ffffff24;--surface:#1b1c1c;background:var(--bg);color:var(--fg);min-height:100vh}.site.light{--bg:#eee7dd;--fg:#171816;--muted:#5e5c55;--line:#17181630;--surface:#e2d7c9;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.header{border-bottom:1px solid var(--line);z-index:20;background:var(--bg);align-items:center;gap:38px;height:96px;padding:0 5%;display:flex;position:sticky;top:0}.brand{flex-shrink:0;align-items:center;gap:14px;display:flex}.brand span{letter-spacing:.2em;font-size:10px;font-weight:600;line-height:1.45}.mark{width:43px;height:37px;display:block}.desktop-nav{justify-content:center;gap:25px;margin-left:auto;display:flex}.desktop-nav a{color:var(--muted);padding:15px 0;font-size:12px;position:relative}.desktop-nav a:after{content:"";transform-origin:0;background:currentColor;width:100%;height:1px;transition:transform .25s;position:absolute;bottom:5px;left:0;transform:scaleX(0)}.desktop-nav a:hover,.desktop-nav a[aria-current]{color:var(--fg)}.desktop-nav a:hover:after,.desktop-nav a[aria-current]:after{transform:scaleX(1)}.header-contact{border-bottom:1px solid var(--fg);align-items:center;gap:25px;padding:10px 0;font-size:12px;display:flex}.mobile-menu{display:none}.skip{color:#111110;z-index:100;background:#f3eee4;padding:16px;position:fixed;top:-100px;left:16px}.skip:focus{top:12px}.eyebrow{letter-spacing:.2em;text-transform:uppercase;margin:0 0 28px;font-weight:500;line-height:1.6;font-size:10px!important}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:400}h1{letter-spacing:-.065em;margin-bottom:30px;font-size:clamp(56px,6.8vw,110px);line-height:.99}h2{letter-spacing:-.048em;margin-bottom:24px;font-size:clamp(35px,4.2vw,64px);line-height:1.08}h3{letter-spacing:-.035em;font-size:30px;line-height:1.15}em{letter-spacing:-.065em;font-family:Georgia,Times New Roman,serif;font-weight:400}p{color:var(--muted);font-size:15px;line-height:1.8}.actions{flex-wrap:wrap;align-items:center;gap:28px;display:flex}.button{border:1px solid var(--fg);background:var(--fg);color:var(--bg);justify-content:space-between;align-items:center;gap:35px;padding:17px 22px;font-size:12px;line-height:1.4;transition:background .25s,color .25s,transform .25s;display:inline-flex}.button:hover{color:var(--fg);background:0 0;transform:translateY(-2px)}.button span,.text-link span,.header-contact span{font-size:20px;line-height:1}.text-link{border-bottom:1px solid var(--line);align-items:center;gap:22px;padding:10px 0;font-size:12px;display:inline-flex}.text-link:hover{border-color:var(--fg)}.home-hero{color:#f3eee4;background:#080909;height:calc(100svh - 96px);min-height:740px;max-height:1000px;position:relative;overflow:hidden}.hero-photo{position:absolute;inset:0 0 0 36%}.hero-photo img{object-position:50% 47%}.hero-shade{background:linear-gradient(90deg,#080909 4%,#080909e0 30%,#08090900 70%),linear-gradient(#0000 70%,#080909 100%);position:absolute;inset:0}.hero-copy{z-index:1;padding:85px 7% 100px;position:relative}.hero-copy h1{font-size:clamp(76px,8.4vw,138px);line-height:.94}.hero-copy .eyebrow{color:#d8c8b6}.hero-description{color:#bcb6ad;margin:30px 0;font-size:15px}.hero-bottom{letter-spacing:.15em;z-index:2;color:#bcb6ad;justify-content:space-between;font-size:9px;display:flex;position:absolute;bottom:30px;left:7%;right:7%}.hero-bottom a{gap:30px;display:flex}.intro-strip{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:10%;padding:70px 7%;display:grid}.intro-strip>p{letter-spacing:-.04em;color:var(--fg);font-size:32px;line-height:1.2}.intro-strip>div{max-width:530px}.section{padding:100px 7%}.section-heading{max-width:850px;margin-bottom:48px}.section-heading .eyebrow{color:var(--muted)}.service-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.service-card{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:255px;padding:28px;transition:background .3s}.service-card:hover{background:var(--surface)}.card-top{justify-content:space-between;align-items:center;margin-bottom:62px;display:flex}.card-top>span:last-child{font-size:23px;transition:transform .25s}.service-card:hover .card-top>span:last-child{transform:translate(3px,-3px)}.index{color:var(--muted);letter-spacing:.1em;font-size:10px}.service-card h3{margin-bottom:14px;font-size:27px}.service-card p{max-width:200px;margin-bottom:0;font-size:12px}.image-story{color:#f3eee4;background:#080909;height:620px;position:relative}.image-story:after{content:"";background:linear-gradient(#0000 10%,#000b);position:absolute;inset:0}.image-story img{object-position:center 55%}.image-story-copy{z-index:1;position:absolute;bottom:60px;left:7%}.image-story .eyebrow{color:#d8c8b6}.project-list article{border-top:1px solid var(--line);grid-template-columns:70px 1fr 1fr;align-items:center;gap:30px;padding:36px 0;display:grid}.project-list article:last-child{border-bottom:1px solid var(--line)}.project-list h3{margin:0;font-size:43px}.project-list .eyebrow{margin-bottom:10px;font-size:9px!important}.project-list article>p{max-width:450px;margin:0;font-size:14px}.software-banner{color:#f3eee4;background:#1b1d20;border:1px solid #ffffff1c;grid-template-columns:1fr 1fr;gap:60px;margin:0 7%;padding:60px;display:grid}.software-banner p{color:#b5afa5;max-width:420px}.spectrum-art,.software-art{flex-direction:column;justify-content:center;align-items:center;min-height:280px;display:flex}.spectrum-art .mark{width:110px;height:100px}.spectrum-line{background:linear-gradient(90deg,#ed3333,#ffaf35,#a6d947,#24d2cf,#527bff,#a558ec);width:80%;height:3px;margin:40px 0 25px;box-shadow:0 12px 45px #828bcc35}.spectrum-art>span,.software-art>span{letter-spacing:.45em;color:#b5afa5;font-size:9px}.closing{text-align:center;padding:130px 7%}.closing h2{font-family:Georgia,Times New Roman,serif;font-size:clamp(45px,5.6vw,84px);font-style:italic}.closing>p:not(.eyebrow){max-width:480px;margin:0 auto 30px}.footer{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:45px;padding:55px 7% 25px;display:grid}.footer p{margin:22px 0 0;font-size:12px}.footer-links{justify-content:flex-end;align-items:flex-start;gap:30px;font-size:12px;display:flex}.footer-bottom{border-top:1px solid var(--line);color:var(--muted);grid-column:1/-1;justify-content:space-between;gap:20px;padding-top:25px;font-size:10px;display:flex}.inner-hero{grid-template-columns:1.15fr 1fr;min-height:660px;display:grid}.inner-copy{padding:85px 9% 85px 12%}.inner-copy h1{font-size:clamp(48px,5.2vw,84px)}.lead{max-width:510px;margin-bottom:35px;font-size:16px}.inner-photo{min-height:570px;position:relative;overflow:hidden}.inner-photo img{object-position:center 45%}.wide-crop img{object-position:40% center}.acoustic-art{background:#d8c8b6;flex-direction:column;justify-content:center;gap:30px;padding:75px 60px 40px;display:flex;overflow:hidden}.acoustic-art>div{background:repeating-linear-gradient(90deg,#c9b8a3 0,#e0d1bf 12px,#b8a58f 21px,#d8c8b6 30px);height:370px;transform:perspective(900px)rotateY(-15deg);box-shadow:25px 20px #181a18}.acoustic-art>span{letter-spacing:.3em;margin-top:20px;font-size:9px}.software-art{color:#f3eee4;background:radial-gradient(#252a34,#151618 65%);padding:45px}.software-art .mark{width:150px;height:130px}.facts{border-block:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:30px;padding:40px 7%;display:grid}.facts>div{flex-direction:column;gap:12px;display:flex}.facts strong{letter-spacing:-.04em;font-size:35px;font-weight:400}.facts span{color:var(--muted);font-size:11px}.detail-grid{grid-template-columns:repeat(3,1fr);gap:45px;display:grid}.detail-grid article{border-top:1px solid var(--line);padding-top:25px}.detail-grid h3{margin:35px 0 20px}.detail-grid p{min-height:110px;font-size:14px}.detail-grid .text-link{font-size:11px}.projects-section{padding-top:20px}.process{border-block:1px solid var(--line);padding-top:60px;padding-bottom:65px}.process>div{grid-template-columns:repeat(3,1fr);gap:50px;display:grid}.process article p{color:var(--fg);max-width:290px;margin:20px 0 0;font-size:18px;line-height:1.5}.studio-note{background:#d8c8b6;padding:90px 7%}.studio-note>p:last-child{max-width:620px;margin:30px 0 0}.lesson-list{margin:0;padding:0;list-style:none}.lesson-list li{border-top:1px solid var(--line);align-items:center;gap:25px;padding:26px 0;display:flex}.lesson-list li:last-child{border-bottom:1px solid var(--line)}.lesson-list h3{margin:0 0 8px;font-size:28px}.lesson-list p{margin:0;font-size:14px}.lesson-list li>a{margin-left:auto;padding:15px;font-size:24px}.quote-section{border-bottom:1px solid var(--line);padding:85px 12%}blockquote{max-width:950px;margin:0 0 30px;font-family:Georgia,serif;font-size:clamp(25px,3vw,42px);line-height:1.4}.contact-page{grid-template-columns:1fr 1fr;gap:8%;padding:95px 7% 110px;display:grid}.contact-page h1{font-size:clamp(48px,5.3vw,82px)}.contact-email{overflow-wrap:anywhere;align-items:center;gap:20px;margin:40px 0 16px;font-size:clamp(13px,1.5vw,20px);display:flex}.contact-note{max-width:350px;margin-top:40px;font-size:12px}.enquiry-form{padding-top:15px}.enquiry-form label{margin-bottom:23px;font-size:12px;line-height:1.6;display:block}.enquiry-form input,.enquiry-form select,.enquiry-form textarea{border:1px solid var(--line);width:100%;color:var(--fg);background:0 0;border-radius:0;margin-top:10px;padding:14px;font-size:14px;display:block}.enquiry-form textarea{resize:vertical}.enquiry-form select{background:var(--bg)}.form-row{grid-template-columns:1fr 1fr;gap:20px;display:grid}.optional{color:var(--muted)}.form-help,.form-status{margin-top:20px;font-size:11px;line-height:1.65}.form-status{color:var(--fg)}.notfound{min-height:60vh;padding:130px 7%}.page-entry{animation:.5s both page-in}[data-reveal].seen{animation:.65s both reveal-in}@keyframes page-in{0%{opacity:.6;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes reveal-in{0%{opacity:.6;transform:translateY(16px)}to{opacity:1;transform:none}}@media (min-width:1600px){.hero-copy{padding-top:110px}.hero-photo{left:40%}.section,.intro-strip,.closing,.footer{padding-left:max(7%,50vw - 720px);padding-right:max(7%,50vw - 720px)}}@media (max-width:1100px){.desktop-nav{gap:16px}.header{gap:20px;padding-inline:4%}.header-contact{display:none}.service-grid{grid-template-columns:repeat(2,1fr)}.inner-copy{padding:65px 8%}.inner-copy h1{font-size:56px}.detail-grid{gap:25px}.software-banner{padding:40px}.home-hero{min-height:720px}.hero-copy{padding-top:90px}}@media (max-width:760px){html{scroll-padding-top:85px}.header{justify-content:space-between;height:78px;padding:0 6%}.brand span{font-size:9px}.mark{width:36px;height:33px}.desktop-nav{display:none}.mobile-menu{display:block}.mobile-menu summary{align-items:center;gap:20px;padding:15px 0;font-size:12px;list-style:none;display:flex}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary span{font-size:22px}.mobile-menu[open] summary span{transform:rotate(45deg)}.mobile-menu nav{background:var(--bg);border-bottom:1px solid var(--line);max-height:calc(100svh - 78px);padding:15px 6% 25px;position:absolute;top:77px;left:0;right:0;overflow:auto}.mobile-menu nav a{border-bottom:1px solid var(--line);justify-content:space-between;padding:14px 0;font-size:18px;display:flex}.mobile-menu a[aria-current]{font-style:italic}.home-hero{height:auto;min-height:820px}.hero-photo{inset:0}.hero-photo img{object-position:65% 40%}.hero-shade{background:linear-gradient(90deg,#080909a0,#0000),linear-gradient(#08090930,#08090950 40%,#080909 100%)}.hero-copy{padding:250px 7% 120px}.hero-copy h1{font-size:clamp(66px,15vw,98px)}.hero-description{max-width:290px;font-size:14px}.hero-copy .actions{gap:15px}.hero-bottom>span{max-width:180px;font-size:8px;line-height:1.8}.intro-strip{grid-template-columns:1fr;gap:20px;padding:55px 7%}.intro-strip>p{margin-bottom:0;font-size:30px}.section{padding:65px 7%}.section-heading{margin-bottom:35px}h2{font-size:39px}.service-card{min-height:230px;padding:22px 18px}.service-card h3{font-size:24px}.card-top{margin-bottom:48px}.image-story{height:480px}.image-story-copy{bottom:35px;right:7%}.image-story h2{font-size:36px}.project-list article{grid-template-columns:30px 1fr;gap:14px;padding:27px 0}.project-list article>p{grid-column:2}.project-list h3{font-size:35px}.software-banner{grid-template-columns:1fr;gap:5px;padding:30px}.spectrum-art{min-height:230px}.closing{padding:80px 7%}.closing h2{font-size:48px}.footer{grid-template-columns:1fr;gap:30px;padding-top:40px}.footer-links{flex-wrap:wrap;justify-content:flex-start}.footer-bottom{flex-direction:column;gap:10px}.inner-hero{grid-template-columns:1fr}.inner-copy{padding:60px 7%}.inner-copy h1{font-size:clamp(48px,11vw,72px)}.inner-photo{min-height:440px}.inner-photo img{object-position:center 44%}.wide-crop{min-height:300px}.acoustic-art{min-height:380px;padding:40px 50px}.acoustic-art>div{height:260px}.software-art{min-height:340px}.facts{gap:20px;padding:30px 7%}.facts strong{font-size:26px}.facts span{font-size:10px;line-height:1.6}.detail-grid{grid-template-columns:1fr;gap:35px}.detail-grid p{min-height:0}.detail-grid h3{margin-top:20px}.process>div{grid-template-columns:1fr;gap:30px}.process article{align-items:baseline;gap:25px;display:flex}.process article p{max-width:none;margin:0}.studio-note,.quote-section{padding:60px 7%}.lesson-list li{gap:15px}.lesson-list h3{font-size:25px}.contact-page{grid-template-columns:1fr;gap:35px;padding:60px 7%}.contact-page h1{font-size:52px}.contact-email{font-size:18px}.form-row{grid-template-columns:1fr;gap:0}.contact-note{margin-top:25px}.eyebrow{font-size:9px!important}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}
