@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#151615;--paper:#f1eee7;--muted:#a8aaa2;--accent:#d90103;--line:#343630}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--bg);color:var(--paper);font-family:'DM Sans',Arial,sans-serif;font-size:15px;line-height:1.6}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button{color:inherit}header{height:90px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff1c;background:#151615;position:relative;z-index:10}.brand{font-family:Manrope,Arial,sans-serif;font-size:36px;font-weight:800;letter-spacing:-2px;display:inline-flex;align-items:baseline;line-height:1}.brand span{color:var(--accent);font-size:23px;letter-spacing:-1px;margin-left:4px}.brand i{background:var(--accent);height:6px;width:6px;border-radius:50%;margin-left:3px}nav{display:flex;gap:35px;font-size:13px;color:#d8d9d1}nav a:hover{color:var(--accent)}.nav-cta{font-size:13px;border-bottom:1px solid #77796f;padding:8px 0}.nav-cta span{margin-left:25px;color:var(--accent)}.menu{display:none}.hero{position:relative;min-height:690px;height:calc(100svh - 90px);max-height:960px;overflow:hidden}.hero-image{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 58%;animation:hero-reveal 1.5s ease-out both}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#101110cf 0%,#1011106b 38%,transparent 68%),linear-gradient(0deg,#111211 0%,transparent 22%)}.hero-content{position:relative;padding:100px 5% 140px;width:70%}.eyebrow{font:10px 'DM Sans',sans-serif;letter-spacing:2px;font-weight:600}.dot{display:inline-block;width:6px;height:6px;border-radius:100%;background:var(--accent);margin-right:10px;vertical-align:middle}h1{font-family:Manrope,Arial,sans-serif;font-size:clamp(70px,8.1vw,125px);font-weight:500;line-height:1.03;letter-spacing:-7px;margin:38px 0 28px}em{font-style:normal;color:var(--accent)}.intro{color:#c4c5bf;line-height:1.8;font-size:15px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;background:var(--accent);color:#151615;padding:17px 23px;border:1px solid var(--accent);font-size:13px;font-weight:700;margin-top:20px;transition:background .2s,transform .2s}.button:hover{background:#b90002;transform:translateY(-2px)}.button span{font-size:21px;line-height:1}.hero-foot{position:absolute;bottom:28px;left:5%;right:5%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.5px;color:#b6b8b0}.hero-foot a span{font-size:17px;margin-left:18px}.ticker{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 5%;font-size:11px;letter-spacing:2px;font-weight:600;gap:20px}.ticker i{font-size:25px;color:var(--accent);font-style:normal}.section{padding:85px 6% 95px}.section-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:38px}.section-top>span{font-size:9px;letter-spacing:1.5px;color:var(--muted)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:46px}h2{font-family:Manrope,Arial,sans-serif;font-size:clamp(36px,4.3vw,67px);font-weight:500;line-height:1.12;letter-spacing:-2.7px;margin:0}.section-heading>p{max-width:330px;color:var(--muted);font-size:14px;line-height:1.8;margin:0 0 5px}.filters{display:flex;gap:25px;border-bottom:1px solid var(--line);margin-bottom:32px}.filters button{background:transparent;border:0;border-bottom:2px solid transparent;color:var(--muted);padding:13px 0;font-size:12px}.filters button.active{color:var(--paper);border-color:var(--accent)}.filters sup{font-size:8px;margin-left:5px;color:var(--accent)}.gallery{display:grid;grid-template-columns:1.13fr 1fr;gap:38px 28px}.project-card{padding:0;background:transparent;border:0;text-align:left;min-width:0}.project-card[hidden]{display:none}.photo{position:relative;overflow:hidden;background:#222421;aspect-ratio:1.13}.photo img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.project-card:hover .photo img{transform:scale(1.04)}.image-badge{position:absolute;top:20px;left:20px;background:#161815ad;color:#eee;backdrop-filter:blur(10px);padding:6px 10px;font-size:8px;letter-spacing:1.3px}.round-arrow{position:absolute;bottom:20px;right:20px;width:38px;height:38px;border:1px solid #ffffff7a;border-radius:50%;display:grid;place-items:center;background:#191b1855;font-size:20px;color:white}.card-caption{display:flex;justify-content:space-between;align-items:flex-end;margin-top:18px;gap:15px}.card-caption small{font-size:8px;letter-spacing:1.5px;color:var(--muted)}h3{font-weight:500;font-size:20px;letter-spacing:-.4px;margin:4px 0}.card-caption>span{font-size:10px;color:var(--muted)}.wide{grid-column:1/-1}.wide .photo{aspect-ratio:2.7}.wide .photo img{object-position:50% 59%}.fine{font-size:10px;color:var(--muted);margin-top:22px;line-height:1.7}.atelier{background:var(--paper);color:#232521}.atelier .section-top>span,.atelier .eyebrow{color:#64695f}.atelier-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.atelier-grid p:not(.eyebrow){max-width:400px;color:#66695f;font-size:14px}.atelier h2{margin-bottom:30px}.text-link{display:inline-flex;border-bottom:1px solid #9ca092;padding:12px 0;gap:45px;font-size:12px;margin-top:15px}.text-link span{color:#b90002}.layer-art{height:430px;position:relative;display:grid;place-items:center;overflow:hidden;background:#e7e3da}.layer-object{width:230px;height:280px;border-radius:39% 52% 27% 38%;background:repeating-linear-gradient(0deg,#b50002 0px,#d90103 2px,#eb2023 3px,#960002 4px);box-shadow:inset -36px 0 35px #58000170,inset 28px 0 25px #ff666666,22px 28px 35px #643c3c55;transform:rotate(-19deg);position:relative}.layer-object:before{content:'';position:absolute;width:125px;height:90px;border-radius:50%;top:42px;left:48px;background:#e7e3da;box-shadow:inset 12px -7px 15px #9b101044,0 -7px 3px #760002;transform:rotate(15deg)}.art-label{position:absolute;bottom:22px;left:25px;right:25px;font-size:8px;letter-spacing:1.3px;display:flex;justify-content:space-between}.process{margin-top:65px;border-top:1px solid #c9c9bc;display:grid;grid-template-columns:repeat(3,1fr);gap:42px;padding-top:30px}.process article>span{font-size:11px;color:#b90002}.process h3{font-size:24px;margin-top:15px}.process p{max-width:270px;color:#66695f;font-size:13px}.personal{border-bottom:1px solid var(--line)}.personal-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center}.preview{background:#242723;position:relative;min-height:430px;display:flex;align-items:center;padding:20px}.preview svg{width:100%;overflow:visible}.preview-top{position:absolute;top:25px;left:25px;font-size:9px;letter-spacing:2px;color:#b7baaf}.preview-bottom{position:absolute;bottom:24px;left:25px;right:25px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.4px;color:#adb1a5}.custom-controls h2{font-size:clamp(32px,3.2vw,50px)}.custom-controls>p{color:var(--muted);font-size:13px}.custom-controls label,.swatch-label{font-size:9px;letter-spacing:1.2px;display:block;margin-top:25px}.custom-controls input{width:100%;max-width:390px;background:transparent;color:var(--paper);border:0;border-bottom:1px solid #62665b;padding:10px 0;font-size:23px}.swatch-label{max-width:390px;display:flex;justify-content:space-between}.swatch-label span{color:var(--muted)}.swatches{display:flex;gap:15px;margin:16px 0}.swatches button{height:29px;width:29px;background:var(--swatch);border:1px solid #ffffff25;border-radius:50%}.swatches button[aria-pressed=true]{outline:1px solid var(--paper);outline-offset:4px}.custom-controls .fine{font-size:10px}.project-section{padding-bottom:75px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact-grid>div>p{color:var(--muted);font-size:14px;margin-top:28px}.contact-note{display:flex;gap:15px;max-width:310px;border-top:1px solid var(--line);margin-top:45px;padding-top:20px;color:var(--muted);font-size:12px}.contact-note>span{font-size:28px;color:var(--accent)}.contact-note p{margin:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}form label{display:block;font-size:11px;color:#c6c9bf;margin-bottom:19px}form input,form select,form textarea{display:block;width:100%;padding:13px 0;border:0;border-bottom:1px solid #52574b;border-radius:0;background:transparent;color:var(--paper);outline-offset:2px;font-size:13px;margin-top:4px}form select option{background:var(--bg)}form textarea{resize:vertical}form .button{margin-top:0}#form-result{padding:20px;border:1px solid var(--line);margin-top:20px;font-size:13px}#form-result button{background:none;border:1px solid #7c8370;padding:8px 12px;font-size:11px;margin:5px 5px 10px 0}#brief-output{font-size:11px;height:160px}.faq{padding-top:20px;padding-bottom:80px}.faq>.eyebrow{margin-bottom:25px}details{border-bottom:1px solid var(--line);padding:18px 0}summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;font-size:15px}summary::-webkit-details-marker{display:none}summary span{color:var(--accent);font-size:21px}details p{max-width:700px;font-size:13px;color:var(--muted)}details[open] summary span{transform:rotate(45deg)}footer{border-top:1px solid var(--line);padding:38px 6% 22px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px}footer>p{color:var(--muted);font-size:12px}footer>a:not(.brand){font-size:11px}footer small{width:100%;border-top:1px solid var(--line);padding-top:20px;font-size:9px;color:var(--muted);margin-top:15px}footer small span{float:right}dialog{background:var(--paper);color:#232521;padding:0;border:0;width:min(740px,92vw);max-height:88svh;overflow:auto}dialog::backdrop{background:#070907bb;backdrop-filter:blur(6px)}dialog>img{width:100%;max-height:380px;object-fit:cover}.dialog-body{padding:30px}.dialog-body h2{font-size:35px}.dialog-body .fine{color:#606558}.close-dialog{position:absolute;right:12px;top:12px;background:#171917d9;border:0;color:white;width:36px;height:36px;font-size:25px}.skip{position:fixed;top:-100px;left:20px;background:var(--accent);color:black;z-index:99;padding:10px}.skip:focus{top:10px}@keyframes hero-reveal{from{transform:scale(1.035);opacity:.65}to{transform:scale(1);opacity:1}}@media(min-width:1500px){.section{padding-left:max(6%,calc((100vw - 1360px)/2));padding-right:max(6%,calc((100vw - 1360px)/2))}}@media(max-width:900px){nav{gap:17px}.hero-content{width:85%;padding-top:90px}h1{letter-spacing:-4px}.hero{min-height:630px}.section{padding:65px 5%}.atelier-grid,.personal-grid,.contact-grid{gap:35px}.card-caption{display:block}.card-caption>span{display:block;margin-top:5px}.layer-art{height:360px}.preview{min-height:360px}.section-top>span{display:none}.hero-foot>span:nth-child(2){display:none}.ticker{font-size:9px;letter-spacing:1px;gap:10px}.custom-controls h2{font-size:36px}}@media(max-width:620px){header{height:76px}.brand{font-size:31px}.nav-cta{margin-left:auto;margin-right:22px;font-size:11px}.nav-cta span{margin-left:10px}.menu{display:block;background:none;border:0;font-size:22px;padding:4px}nav{display:none;position:absolute;left:0;right:0;top:76px;padding:25px;background:#1d201c;border-bottom:1px solid var(--line)}nav.open{display:flex;flex-direction:column;gap:24px}.hero{height:760px;min-height:0;max-height:calc(100svh - 76px)}.hero-image{object-position:65% center}.hero-shade{background:linear-gradient(90deg,#101110d9,#10111055),linear-gradient(0deg,#111211,transparent 45%)}.hero-content{width:100%;padding:65px 6% 100px}h1{font-size:clamp(59px,14vw,85px);margin:32px 0 24px;letter-spacing:-3px}.eyebrow{font-size:8px;letter-spacing:1.5px}.intro{font-size:13px}.button{font-size:12px;padding:14px 18px}.hero-foot{font-size:8px;left:6%;right:6%}.ticker{flex-wrap:wrap;justify-content:center;padding:18px 5%;column-gap:18px;row-gap:4px;font-size:8px}.ticker i{font-size:17px}.ticker span:last-child{display:none}.ticker i:last-of-type{display:none}.section{padding:53px 6%}.section-top{margin-bottom:25px}.section-heading{display:block}.section-heading>p{margin-top:25px;max-width:100%;font-size:13px}h2{font-size:39px;letter-spacing:-1.8px}.filters{gap:20px;overflow:auto;white-space:nowrap}.filters button{font-size:10px;flex-shrink:0}.gallery{grid-template-columns:1fr;gap:28px}.wide{grid-column:auto}.wide .photo{aspect-ratio:1.2}.wide .photo img{object-position:70% center}.card-caption{display:flex}.card-caption h3{font-size:17px}.card-caption>span{font-size:9px}.atelier-grid,.personal-grid,.contact-grid{grid-template-columns:1fr;gap:34px}.atelier-grid p:not(.eyebrow){max-width:100%}.layer-art{height:320px}.layer-object{height:225px;width:190px}.layer-object:before{height:65px;width:100px;left:42px}.process{gap:18px;margin-top:40px}.process h3{font-size:18px}.process p{font-size:11px}.preview{min-height:300px}.custom-controls h2{font-size:38px}.custom-controls input,.swatch-label{max-width:none}.contact-note{margin-top:25px}.form-row{gap:15px}.faq{padding-top:5px}.faq summary{font-size:13px;gap:25px}footer{padding:28px 6% 20px}footer>p{order:3;width:100%;margin:0}footer small{order:4}.dialog-body{padding:22px}.dialog-body h2{font-size:29px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Pistix 3D identity — original logo and sampled brand red. */
.brand{display:inline-flex;align-items:center;flex-shrink:0}.brand-logo{display:block;width:120px;height:80px;object-fit:contain}header{height:96px}footer .brand-logo{width:165px;height:110px}.button{color:#fff}.button:hover{border-color:#b90002}.hero{height:calc(100svh - 96px)}.skip{color:#fff}@media(max-width:620px){header{height:88px}.brand-logo{width:108px;height:72px}nav{top:88px}.hero{height:760px;max-height:calc(100svh - 88px)}.nav-cta{margin-right:14px}footer .brand-logo{width:135px;height:90px}}
