@import "https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&display=swap";:root{color:#f8f9fc;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;scrollbar-gutter:stable;scroll-behavior:smooth;background:#0b1728;font-family:Poppins,sans-serif;font-weight:400}body{min-width:320px;min-height:100vh;margin:0}#root{min-height:100svh}a{color:inherit;-webkit-tap-highlight-color:transparent;text-decoration:none}img{max-width:100%}::selection{color:#0b1728;background:#ccdafd}:focus-visible{outline-offset:4px;outline:2px solid #ccdafd}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{color:#f5f7fc;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto;--navy:#0b1728;--accent:#ccdafd;--muted:#a2aec3;--line:#ccdafd29;background:#0b1728;font-family:Poppins,sans-serif;font-weight:400}*{box-sizing:border-box}body{min-width:0;margin:0}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}.portfolio{background:radial-gradient(ellipse at 75% 10%, #4a639a1f, transparent 35%), var(--navy);overflow:hidden}.navbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:28px;min-height:82px;padding:0 7%;display:flex}.brand{letter-spacing:-1px;white-space:nowrap;font-size:25px;font-weight:700}.brand span,.profile-mark span{color:var(--accent)}.navbar nav{align-items:center;gap:34px;display:flex}.navbar nav a{color:var(--muted);padding:10px 0;font-size:13px;transition:color .2s;position:relative}.navbar nav a:hover,.navbar nav a.active{color:#fff}.navbar nav a.active:after{background:var(--accent);content:"";height:2px;position:absolute;bottom:0;left:0;right:0}.social-link{border:1px solid var(--line);white-space:nowrap;border-radius:4px;padding:10px 15px;font-size:12px}.hero{border-bottom:1px solid var(--line);flex-direction:column;justify-content:center;align-items:flex-start;min-height:660px;padding:115px 8% 35px;display:flex;position:relative}.eyebrow{color:var(--accent);letter-spacing:2.4px;margin:0 0 22px;font-size:10px;font-weight:600}.hero h1{z-index:2;letter-spacing:-5px;max-width:760px;margin:0;font-size:clamp(48px,7.3vw,94px);font-weight:600;line-height:1.08;position:relative}.hero h1 span,.section-heading h2 span,.work-heading h2 span,.contact-section h2 span{color:var(--accent)}.hero-description{max-width:480px;color:var(--muted);margin:25px 0 30px;font-size:14px;line-height:1.9}.primary-button{background:var(--accent);color:#0b1728;align-items:center;gap:25px;padding:15px 20px;font-size:12px;font-weight:600;transition:transform .2s,background .2s;display:inline-flex}.primary-button:hover{background:#fff;transform:translateY(-2px)}.hero-art{aspect-ratio:1;width:min(34vw,390px);position:absolute;top:50%;right:8%;transform:translateY(-48%)}.art-orbit{border:1px solid #ccdafd4d;border-radius:50%;position:absolute;inset:12%;transform:rotate(-35deg)scaleY(.42)}.orbit-two{transform:rotate(45deg)scaleY(.42)}.art-core{aspect-ratio:1;width:105px;color:var(--accent);background:linear-gradient(145deg,#283b5a,#0b1728 75%);border:1px solid #ccdafd80;border-radius:50%;place-items:center;font-size:38px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 80px #93adef21}.art-label{color:#aab9d7;letter-spacing:1.5px;font-size:9px;position:absolute}.label-one{top:9%;left:38%}.label-two{bottom:35%;right:-5%}.label-three{bottom:9%;left:18%}.hero-footer{color:var(--muted);letter-spacing:1.5px;justify-content:space-between;gap:16px;font-size:9px;display:flex;position:absolute;bottom:30px;left:8%;right:8%}.section-wrap{padding:105px 8%}.section-heading h2,.work-heading h2{letter-spacing:-1.8px;margin:0;font-size:clamp(30px,4vw,48px);font-weight:500}.profile-content{border-top:1px solid var(--line);grid-template-columns:180px minmax(0,540px);align-items:center;gap:45px;margin-top:55px;padding-top:35px;display:grid}.profile-mark{aspect-ratio:1;background:linear-gradient(145deg,#243752,#0b1728);border:1px solid #ccdafd40;border-radius:50%;place-items:center;width:150px;font-size:56px;font-weight:600;display:grid}.profile-content h3{margin:0 0 14px;font-size:25px}.profile-content p{color:var(--muted);margin:0 0 20px;font-size:13px;line-height:2}.text-link{color:var(--accent);font-size:12px}.work-section{border-top:1px solid var(--line);background:#0e1b2e;padding-top:75px}.work-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:45px;display:flex}.work-count{color:var(--muted);letter-spacing:1.5px;font-size:9px}.work-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:22px;display:grid}.work-card{min-width:0}.work-card-1{grid-column:span 2}.work-visual{aspect-ratio:1.25;border:1px solid var(--line);background:radial-gradient(at 50% 45%,#90a4db33,#0000 48%),linear-gradient(135deg,#1b2b43,#101b2d 70%);place-items:center;min-height:250px;display:grid;position:relative;overflow:hidden}.work-card-1 .work-visual{aspect-ratio:1.8}.work-card-2 .work-visual{background:linear-gradient(145deg,#26334d,#111a2b 75%)}.work-card-3 .work-visual{background:linear-gradient(35deg,#182e3b,#152037 65%)}.work-card-4 .work-visual{background:linear-gradient(135deg,#302b46,#151c30 70%)}.work-number,.work-placeholder{color:#b9c6df;letter-spacing:1.5px;font-size:9px;position:absolute}.work-number{top:18px;left:18px}.work-placeholder{bottom:18px;right:18px}.work-symbol{color:var(--accent);font-size:clamp(65px,9vw,120px);line-height:1;transition:transform .35s}.work-card:hover .work-symbol{transform:scale(1.12)rotate(8deg)}.work-info{justify-content:space-between;align-items:center;gap:12px;padding:18px 0 25px;display:flex}.work-info h3{margin:0 0 6px;font-size:14px;font-weight:500}.work-info p{color:var(--muted);margin:0;font-size:11px}.work-arrow{color:var(--accent)}.works-note{color:var(--muted);margin:20px 0 0;font-size:11px;line-height:1.8}.contact-section{text-align:center;border-top:1px solid var(--line);padding:110px 8%}.contact-section h2{letter-spacing:-3px;margin:0;font-size:clamp(45px,7vw,78px);font-weight:500;line-height:1.15}.contact-section>p:not(.eyebrow){color:var(--muted);margin:22px 0 30px;font-size:13px}.site-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:25px 8%;display:flex}.site-footer .brand{font-size:20px}.site-footer p,.site-footer>span{color:var(--muted);font-size:10px}@media (width>=1400px){.hero,.section-wrap,.contact-section{padding-left:max(8%,50% - 590px);padding-right:max(8%,50% - 590px)}}@media (width<=760px){.navbar{flex-wrap:wrap;gap:12px;min-height:72px;padding:15px 5%}.brand{font-size:22px}.navbar nav{order:3;justify-content:space-between;gap:12px;width:100%}.navbar nav a{font-size:11px}.social-link{padding:8px 10px;font-size:10px}.hero{justify-content:flex-start;min-height:670px;padding:100px 6% 75px}.hero h1{letter-spacing:-2.5px;font-size:clamp(43px,11vw,68px)}.hero-description{max-width:410px;font-size:13px}.hero-art{opacity:.8;width:205px;top:auto;bottom:45px;right:4%;transform:none}.art-core{width:65px;font-size:27px}.hero-footer{font-size:8px;bottom:18px;left:6%;right:6%}.section-wrap{padding:75px 6%}.profile-content{grid-template-columns:1fr;gap:25px;margin-top:35px}.profile-mark{width:110px;font-size:42px}.work-heading{flex-direction:column;align-items:flex-start}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.work-card-1{grid-column:span 2}.work-visual{min-height:145px}.work-card-1 .work-visual{aspect-ratio:1.4}.work-number{top:10px;left:10px}.work-placeholder{font-size:7px;bottom:10px;right:10px}.work-info{padding:12px 0 20px}.work-info h3{font-size:12px}.contact-section{padding:80px 6%}.contact-section h2{letter-spacing:-1.5px}.site-footer{flex-wrap:wrap;padding:25px 6%}.site-footer p{order:3;width:100%;margin:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.violette-site{--vio-ink:#0b1728;--vio-page-bg:#0b1728;--vio-text:#f8f9fc;--vio-accent:#ccdafd;--vio-muted:#9ba8ba;--vio-line:#ccdafd33;--vio-footer:#07111f;background:var(--vio-page-bg);color:var(--vio-text);overflow:hidden}.violette-site[data-theme=light]{--vio-ink:#142238;--vio-page-bg:#f4f6fa;--vio-text:#142238;--vio-accent:#287fe0;--vio-muted:#536278;--vio-line:#0b172829;--vio-footer:#e8edf4}.vio-hero{isolation:isolate;background:var(--vio-page-bg);flex-direction:column;justify-content:center;min-height:min(820px,100svh);display:flex;position:relative;overflow:hidden}.vio-hero-image,.vio-hero-shade,.vio-contact-image-wrap,.vio-contact-shade{position:absolute;inset:0}.vio-hero-image{z-index:-2;object-fit:cover;object-position:center 56%;width:100%;height:100%;animation:1.1s ease-out both vio-image-enter}.vio-hero-shade{z-index:-1;background:linear-gradient(90deg,#050d1af5 0%,#050d1ad1 35%,#050d1a33 75%,#050d1a14 100%),linear-gradient(#0000 65%,#050d1a8c)}.vio-header{z-index:2;grid-template-columns:40px auto 1fr;align-items:center;width:min(100% - 104px,1430px);min-height:92px;margin-inline:auto;animation:.7s .1s both vio-fade-up;display:grid;position:absolute;top:0;left:0;right:0}.vio-logo{color:#fff;letter-spacing:-2px;place-items:center;width:40px;height:40px;font-size:25px;font-style:italic;font-weight:600;display:grid}.vio-logo img{object-fit:contain;width:100%;height:100%;display:block}.vio-logo span{color:var(--vio-accent)}.vio-nav{align-items:center;gap:clamp(20px,3vw,42px);margin-left:clamp(24px,4vw,56px);display:flex}.vio-nav a{color:#ffffffc7;white-space:nowrap;padding:10px 0 12px;font-size:12px;transition:color .16s;position:relative}.vio-nav a:after{content:"";opacity:0;background:#67adff;height:1px;position:absolute;bottom:4px;left:0;right:0}.vio-nav a.is-active:after{opacity:1}.vio-nav a:hover{color:var(--vio-accent)}.vio-theme-toggle{color:#fff;cursor:pointer;background:0 0;border:0;border-radius:50%;justify-self:end;place-items:center;width:36px;height:36px;display:grid}.vio-theme-toggle svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px;width:17px;height:17px}.vio-theme-toggle:hover{color:#67adff}.violette-site[data-theme=light] .vio-hero-shade{background:linear-gradient(90deg,#e8f0fac7 0%,#e1ebf89e 38%,#e1ebf824 76%,#e1ebf80d 100%),linear-gradient(#0000 58%,#e1ebf83d)}.violette-site[data-theme=light] .vio-logo,.violette-site[data-theme=light] .vio-nav a,.violette-site[data-theme=light] .vio-theme-toggle,.violette-site[data-theme=light] .vio-hero h1{color:#101d31}.violette-site[data-theme=light] .vio-nav a.is-active:after{background:#287fe0}.violette-site[data-theme=light] .vio-hero h1 span,.violette-site[data-theme=light] .vio-eyebrow{color:#287fe0}.violette-site[data-theme=light] .vio-hero-description,.violette-site[data-theme=light] .vio-hero-caption,.violette-site[data-theme=light] .vio-hero-index{color:#0b1728d1}.violette-site[data-theme=light] .vio-button{color:#fff;background:#287fe0;border-color:#287fe0}.violette-site[data-theme=light] .vio-button:hover{color:#101d31;background:0 0}.vio-hero-content{width:min(100% - 136px,1400px);margin:54px auto 40px;animation:.8s .2s both vio-fade-up}.vio-eyebrow{color:#67adff;letter-spacing:2.2px;margin:0;font-size:11px;font-weight:500}.vio-hero h1{color:#fff;letter-spacing:-.045em;max-width:560px;margin:22px 0 18px;font-size:clamp(48px,4.4vw,64px);font-weight:500;line-height:.99}.vio-hero h1 span{color:#67adff}.vio-contact h2 em{color:var(--vio-accent);font-style:normal}.vio-hero-description{color:#f4f7fcc2;max-width:390px;margin:0 0 24px;font-size:14px;line-height:1.9}.vio-button{color:#8bc2ff;background:0 0;border:1px solid #58a4ff;border-radius:6px;justify-content:center;align-items:center;gap:20px;min-height:50px;padding:0 24px;font-size:12px;font-weight:500;transition:background .18s,color .18s,transform .18s;display:inline-flex}.vio-button:hover{color:#071426;background:#58a4ff}.vio-button span{font-size:15px;line-height:1}.vio-hero-caption,.vio-hero-index{color:#ffffffad;letter-spacing:1.5px;font-size:9px;position:absolute;bottom:29px}.vio-hero-caption{border-top:1px solid #ccdafd38;justify-content:space-between;gap:16px;padding-top:13px;display:flex;left:56px;right:56px}.vio-hero-index{display:none;right:56px}.vio-container{width:min(100% - 112px,1240px);margin:0 auto}.vio-profile{--vio-profile-accent:#93b6fa;background:var(--vio-page-bg);color:var(--vio-text);padding:96px 0 104px}.violette-site[data-theme=light] .vio-profile{--vio-profile-accent:var(--vio-accent)}.vio-profile .vio-section-topline{border:0;justify-content:center;padding-bottom:0}.vio-section-topline{border-bottom:1px solid #0b172829;justify-content:space-between;align-items:center;gap:20px;padding-bottom:20px;display:flex}.vio-section-topline>span{color:#677385;letter-spacing:1.6px;font-size:9px}.vio-profile-layout{text-align:center;flex-direction:column;align-items:center;gap:0;max-width:620px;margin:34px auto 0;display:flex}.vio-profile-image-wrap{aspect-ratio:1;border:2px solid color-mix(in srgb, var(--vio-profile-accent) 68%, transparent);background:var(--vio-ink);width:152px;box-shadow:0 0 34px color-mix(in srgb, var(--vio-profile-accent) 14%, transparent);border-radius:50%;overflow:hidden}.vio-profile-image{object-fit:cover;object-position:38% center;border-radius:50%;width:100%;height:100%;display:block}.vio-profile-copy h2,.vio-works-heading h2{letter-spacing:0;margin:0;font-size:clamp(42px,5.1vw,68px);font-weight:500;line-height:1.12}.vio-profile-copy{width:100%;margin-top:24px}.vio-profile-copy h2{letter-spacing:-.035em;font-size:clamp(40px,5vw,58px)}.vio-profile-copy h2 em,.vio-works-heading h2 em{color:#536a91;font-style:normal}.vio-profile-lede{color:var(--vio-muted);margin:10px 0 0;font-size:14px;line-height:1.7}.vio-profile-detail{border-top:1px solid var(--vio-line);flex-direction:column;align-items:center;margin-top:25px;padding-top:20px;display:flex}.vio-profile-stats{justify-content:center;gap:clamp(36px,8vw,72px);margin:0;display:flex}.vio-profile-stats>div{flex-direction:column-reverse;align-items:center;gap:3px;display:flex}.vio-profile-stats dt{color:var(--vio-muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.vio-profile-stats dd{color:var(--vio-text);margin:0;font-size:24px;font-weight:500;line-height:1.2}.vio-text-link{color:var(--vio-profile-accent);align-items:center;gap:10px;font-size:11px;font-weight:600;display:inline-flex}.vio-text-link span{transition:transform .18s}.vio-text-link:hover span{transform:translate(2px,-2px)}.vio-works{background:var(--vio-page-bg);color:var(--vio-text);padding:104px 0 118px}.vio-works .vio-section-topline{border-color:var(--vio-line)}.vio-works .vio-section-topline>span{color:var(--vio-muted)}.vio-works-heading{justify-content:space-between;align-items:flex-end;gap:30px;margin:40px 0 45px;display:flex}.vio-works-heading h2{font-size:clamp(38px,5vw,62px)}.vio-works-heading h2 em{color:var(--vio-accent)}.vio-works-heading>p{max-width:250px;color:var(--vio-muted);margin:0 0 7px;font-size:11px;line-height:1.8}.vio-work-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:34px 24px;display:grid}.vio-work-card{min-width:0;position:relative}.vio-work-figure{background:0 0;justify-content:center;margin:0;display:flex;overflow:hidden}.vio-work-figure img{opacity:1;filter:none;mix-blend-mode:normal;width:100%;height:auto;transition:transform .35s;display:block}.vio-work-card:hover .vio-work-figure img{transform:scale(1.012)}.vio-work-number{color:var(--vio-accent);font-size:9px;line-height:1.5}.vio-work-info{justify-content:space-between;align-items:flex-start;gap:14px;padding:14px 0 0;display:flex}.vio-work-trigger{z-index:1;cursor:pointer;background:0 0;border:0;width:100%;padding:0;position:absolute;inset:0}.vio-work-card:focus-within .vio-work-trigger{outline:2px solid var(--vio-accent);outline-offset:5px}.vio-work-info h3{color:var(--vio-text);margin:0 0 5px;font-size:13px;font-weight:500}.vio-work-info p{color:var(--vio-muted);margin:0;font-size:10px}.vio-work-arrow{color:var(--vio-accent);font-size:15px;transition:transform .18s}.vio-work-card:hover .vio-work-arrow{transform:translate(2px,-2px)}.vio-work-card:hover .vio-work-info h3{color:var(--vio-accent)}.vio-profile,.vio-works-heading,.vio-contact,.vio-work-card{transition:opacity .35s,transform .35s cubic-bezier(.2,.65,.3,1)}.vio-reveal:not(.is-revealed){opacity:0;transform:translateY(16px)}.vio-reveal.is-revealed{opacity:1;transform:translateY(0)}.vio-dialog-backdrop{--vio-ink:#0b1728;--vio-accent:#ccdafd;--vio-muted:#9ba8ba;--vio-line:#ccdafd33;--vio-dialog-text:#f8f9fc;--vio-dialog-copy:#d5dbea;z-index:10;isolation:isolate;background:#050d1a;place-items:center;padding:28px;animation:.18s both vio-dialog-backdrop-in;display:grid;position:fixed;inset:0;overflow:hidden}.vio-dialog-backdrop[data-theme=light]{--vio-ink:#142238;--vio-accent:#287fe0;--vio-muted:#536278;--vio-line:#0b17282e;--vio-dialog-text:#142238;--vio-dialog-copy:#3e4e66;background:#e8edf4}.vio-dialog-art-background,.vio-dialog-vignette{pointer-events:none;position:absolute;inset:0}.vio-dialog-art-background{z-index:0;overflow:hidden}.vio-dialog-art-background img{object-fit:cover;filter:blur(32px)brightness(.28)saturate(.76);opacity:.82;width:100%;height:100%;display:block;transform:scale(1.14)}.vio-dialog-backdrop[data-theme=light] .vio-dialog-art-background img{filter:blur(32px)brightness(.92)saturate(.78);opacity:.32}.vio-dialog-vignette{z-index:1;background:linear-gradient(135deg,#050d1a8a,#07122261),linear-gradient(90deg,#050d1a6b,#0000 30% 70%,#050d1a80),radial-gradient(#050d1a0f 10%,#050d1a9e 100%)}.vio-dialog{z-index:2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);overscroll-behavior:contain;background:#081220d1;border:1px solid #ccdafd40;border-radius:12px;grid-template-columns:minmax(0,1.15fr) minmax(250px,.85fr);align-items:center;gap:clamp(22px,2.5vw,32px);width:min(100%,960px);min-width:0;max-height:calc(100dvh - 72px);padding:clamp(26px,3vw,34px);animation:.24s cubic-bezier(.2,.75,.25,1) both vio-dialog-panel-in;display:grid;position:relative;overflow:hidden auto;box-shadow:0 28px 100px #0000008c}.vio-dialog-backdrop[data-theme=light] .vio-dialog{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fafcfff0;border-color:#0b17282e;box-shadow:0 28px 100px #16273e33}.vio-dialog.is-landscape{grid-template-columns:minmax(0,1.45fr) minmax(270px,.8fr);width:min(100%,1160px)}.vio-dialog.is-square{grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr);width:min(100%,1020px)}.vio-dialog-close{z-index:1;aspect-ratio:1;border:1px solid var(--vio-line);width:42px;color:var(--vio-dialog-text);cursor:pointer;background:#0b1728d1;place-items:center;transition:background .18s,color .18s;display:grid;position:absolute;top:12px;right:12px}.vio-dialog-close.is-hidden{visibility:hidden;pointer-events:none}.vio-dialog-close:hover{background:var(--vio-accent);color:var(--vio-ink)}.vio-dialog-backdrop[data-theme=light] .vio-dialog-close{background:#fffffff0;border-color:#0b172833}.vio-dialog-backdrop[data-theme=light] .vio-dialog-close:hover{background:var(--vio-accent);color:#fff}.vio-dialog-close span{font-size:25px;line-height:1}.vio-dialog-image-wrap{background:#ffffff0b;border:1px solid #ccdafd29;border-radius:8px;justify-content:center;justify-self:center;align-items:center;width:fit-content;min-width:0;max-width:100%;height:min(64dvh,580px);min-height:0;display:flex;overflow:hidden}.vio-dialog-backdrop[data-theme=light] .vio-dialog-image-wrap{background:#14223809;border-color:#0b172824}.vio-dialog-image-wrap img{object-fit:contain;border-radius:7px;flex:0 auto;width:auto;min-width:0;max-width:100%;height:auto;min-height:0;max-height:100%;display:block}.vio-dialog.is-landscape .vio-dialog-image-wrap,.vio-dialog.is-square .vio-dialog-image-wrap{width:100%;height:auto;max-height:min(64dvh,580px);aspect-ratio:var(--vio-art-ratio)}.vio-dialog.is-landscape .vio-dialog-image-wrap img,.vio-dialog.is-square .vio-dialog-image-wrap img{width:100%;height:100%}.vio-dialog-meta{border-left:1px solid var(--vio-line);min-width:0;padding:20px 8px 20px clamp(18px,2vw,28px)}.vio-dialog-meta>p:not(.vio-eyebrow){color:var(--vio-muted);letter-spacing:.04em;margin:0;font-size:12px}.vio-dialog-detail-toggle{border:1px solid var(--vio-line);width:100%;min-height:44px;color:var(--vio-dialog-text);font:inherit;text-align:left;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;gap:16px;margin-top:24px;padding:0 13px;font-size:11px;transition:border-color .18s,background .18s;display:flex}.vio-dialog-detail-toggle:hover,.vio-dialog-detail-toggle[aria-expanded=true]{background:#ccdafd12;border-color:#ccdafd8c}.vio-dialog-backdrop[data-theme=light] .vio-dialog-detail-toggle:hover,.vio-dialog-backdrop[data-theme=light] .vio-dialog-detail-toggle[aria-expanded=true]{background:#287fe014;border-color:#287fe08c}.vio-dialog-detail-icon{color:var(--vio-accent);font-size:17px;line-height:1}.vio-dialog-details{opacity:0;grid-template-rows:0fr;margin-top:0;transition:grid-template-rows .24s cubic-bezier(.2,.65,.3,1),margin-top .24s cubic-bezier(.2,.65,.3,1),opacity .2s,transform .24s cubic-bezier(.2,.65,.3,1);display:grid;transform:translateY(-6px)}.vio-dialog-details.is-open{opacity:1;grid-template-rows:1fr;margin-top:16px;transform:translateY(0)}.vio-dialog-details-inner{border-top:1px solid #0000;min-height:0;padding-top:0;transition:padding-top .24s cubic-bezier(.2,.65,.3,1),border-color .24s;overflow:hidden}.vio-dialog-details.is-open .vio-dialog-details-inner{border-top-color:var(--vio-line);padding-top:16px}.vio-dialog-details dl{gap:13px;margin:0;display:grid}.vio-dialog-details dl>div{grid-template-columns:minmax(75px,.7fr) minmax(0,1.3fr);gap:12px;font-size:10px;line-height:1.6;display:grid}.vio-dialog-details dl>.vio-dialog-description{grid-template-columns:minmax(0,1fr);gap:7px}.vio-dialog-details dt{color:var(--vio-muted)}.vio-dialog-details dd{color:var(--vio-dialog-text);overflow-wrap:anywhere;margin:0}.vio-dialog-description dd{max-width:62ch;color:var(--vio-dialog-copy);font-size:12px;line-height:1.75}.vio-dialog-backdrop.is-closing{animation:.16s both vio-dialog-backdrop-out}.vio-dialog-backdrop.is-closing .vio-dialog{animation:.16s both vio-dialog-panel-out}@keyframes vio-dialog-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes vio-dialog-backdrop-out{0%{opacity:1}to{opacity:0}}@keyframes vio-dialog-panel-in{0%{opacity:0;transform:translateY(12px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes vio-dialog-panel-out{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(8px)scale(.99)}}.vio-contact{isolation:isolate;background:var(--vio-ink);align-items:center;min-height:570px;scroll-margin-top:20px;display:flex;position:relative;overflow:hidden}.vio-contact-image-wrap img{object-fit:cover;object-position:center 45%;width:100%;height:100%;display:block}.vio-contact-shade{background:linear-gradient(90deg,#050d1aed,#050d1aab 48%,#050d1a2e)}.vio-contact-content{width:min(100% - 112px,1240px);margin:0 auto;padding:100px 0}.vio-contact h2{color:#fff;letter-spacing:0;margin:24px 0 30px;font-size:clamp(48px,7vw,82px);font-weight:500;line-height:1.06}.vio-contact-index{color:#ffffffb3;letter-spacing:1.5px;font-size:9px;position:absolute;bottom:28px;right:56px}.vio-footer{background:var(--vio-footer);min-height:88px;color:var(--vio-text);justify-content:space-between;align-items:center;gap:20px;padding:20px max(56px,50% - 620px);display:flex}.vio-footer .vio-logo{font-size:19px}.vio-footer p,.vio-footer>span{color:var(--vio-muted);margin:0;font-size:10px}@keyframes vio-fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes vio-image-enter{0%{opacity:.65;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}@media (width>=1500px){.vio-hero-caption{left:max(56px,50% - 690px);right:max(56px,50% - 690px)}.vio-contact-index{right:max(56px,50% - 620px)}}@media (width<=760px){.vio-hero{min-height:720px}.vio-hero-image{object-position:58% center}.vio-hero-shade{background:linear-gradient(90deg,#050d1ae0,#050d1a8f 70%,#050d1a59),linear-gradient(#0000 55%,#050d1aad)}.vio-header{grid-template-columns:30px minmax(0,1fr) 32px;gap:8px;width:calc(100% - 32px);min-height:72px}.vio-logo{width:30px;height:30px;font-size:23px}.vio-nav{grid-area:1/2;justify-content:space-between;gap:clamp(8px,2.8vw,14px);min-width:0;margin-left:0;padding:0}.vio-nav a{padding:10px 0;font-size:clamp(9px,2.8vw,11px)}.vio-nav a:after{bottom:3px}.vio-theme-toggle{grid-area:1/3;width:32px;height:32px}.vio-hero-content,.vio-contact-content{width:calc(100% - 40px)}.vio-hero-content{width:calc(100% - 32px);margin-top:100px;margin-bottom:65px}.vio-hero h1{max-width:100%;margin-top:19px;font-size:clamp(30px,9.5vw,54px);line-height:1.02}.vio-hero-description{max-width:340px;font-size:12px}.vio-hero-caption{letter-spacing:1px;font-size:8px;bottom:20px;left:20px;right:20px}.vio-container{width:calc(100% - 40px)}.vio-profile,.vio-works{padding:72px 0 78px}.vio-profile{padding:64px 0 72px}.vio-section-topline>span{letter-spacing:1px;font-size:8px}.vio-profile-layout{margin-top:28px}.vio-profile-image-wrap{width:136px}.vio-profile-copy h2{font-size:clamp(40px,11vw,50px)}.vio-profile-lede{max-width:30ch;margin-inline:auto;font-size:13px}.vio-profile-detail{gap:19px;margin-top:22px;padding-top:16px}.vio-works-heading{flex-direction:column;align-items:flex-start;gap:12px;margin:32px 0 30px}.vio-works-heading h2{font-size:clamp(38px,9vw,54px)}.vio-work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px}.vio-work-info{align-items:flex-start;gap:8px;padding-top:10px}.vio-work-info h3{font-size:11px;line-height:1.5}.vio-work-info p{font-size:9px}.vio-contact{min-height:500px}.vio-contact-image-wrap img{object-position:62% center}.vio-contact-content{padding:80px 0}.vio-contact h2{font-size:clamp(47px,11vw,68px)}.vio-contact-index{letter-spacing:1px;font-size:8px;bottom:20px;right:20px}.vio-dialog-backdrop{padding:12px}.vio-dialog{grid-template-columns:minmax(0,1fr);gap:20px;width:min(100%,560px);max-height:calc(100dvh - 24px);padding:54px 18px 20px}.vio-dialog.is-landscape,.vio-dialog.is-square{grid-template-columns:minmax(0,1fr);gap:20px;width:min(100%,560px)}.vio-dialog-image-wrap{height:min(40dvh,340px)}.vio-dialog.is-landscape .vio-dialog-image-wrap{width:100%;height:auto;max-height:min(40dvh,340px)}.vio-dialog.is-square .vio-dialog-image-wrap{width:min(100%,40dvh,340px);max-height:min(40dvh,340px)}.vio-dialog-meta{border-top:1px solid var(--vio-line);border-left:0;padding:18px 0 0}.vio-dialog-meta h2{margin:10px 0 6px;font-size:25px}.vio-footer{flex-wrap:wrap;gap:10px 16px;min-height:112px;padding:22px 20px}.vio-footer p{order:3;width:100%}}@media (width<=380px){.vio-nav{gap:8px}.vio-nav a{font-size:10px}.vio-work-grid{grid-template-columns:1fr}.vio-work-card{grid-column:auto}}.violette-site.is-preview-open .vio-header{visibility:hidden}.vio-dialog-backdrop{--vio-ink:#0b1728;--vio-accent:#93b6fa;--vio-muted:#9ba8ba;--vio-line:#ccdafd33;--vio-dialog-text:#f8f9fc;--vio-dialog-copy:#d5dbea;padding:clamp(12px,3vw,32px)}.vio-dialog-backdrop[data-theme=light]{--vio-ink:#f7f9fc;--vio-accent:#287fe0;--vio-muted:#536278;--vio-line:#0b172829;--vio-dialog-text:#142238;--vio-dialog-copy:#3e4e66}.vio-dialog-vignette{background:linear-gradient(135deg,#050d1a99,#0712226b),radial-gradient(#050d1a14,#050d1aa8)}.vio-dialog-backdrop[data-theme=light] .vio-dialog-vignette{background:linear-gradient(135deg,#e8edf48c,#e8edf457),radial-gradient(#f8fafd33,#d6dfeba6)}.vio-dialog{background:#071323f5;border-color:#93b6fa4d;border-radius:8px;width:min(100%,1120px);height:min(690px,100dvh - 64px);max-height:calc(100dvh - 64px);padding:0;display:block;overflow:hidden}.vio-dialog.is-landscape{width:min(100%,1200px)}.vio-dialog.is-portrait{width:min(100%,1000px)}.vio-dialog.is-square{width:min(100%,1080px)}.vio-dialog-backdrop[data-theme=light] .vio-dialog{background:#fafcfff7;border-color:#287fe03d}.vio-dialog-close{z-index:5;background:0 0;border:0;border-radius:50%;width:38px;top:8px;right:8px}.vio-dialog-close:hover{color:var(--vio-dialog-text);background:#93b6fa24}.vio-dialog-backdrop[data-theme=light] .vio-dialog-close{background:0 0;border:0}.vio-dialog-backdrop[data-theme=light] .vio-dialog-close:hover{color:var(--vio-accent);background:#287fe01a}.vio-dialog-preview{grid-template-columns:minmax(0,1.45fr) minmax(285px,.72fr);width:100%;min-width:0;height:100%;min-height:0;display:grid}.vio-dialog-artwork{flex-direction:column;min-width:0;min-height:0;padding:30px 22px 16px;display:flex}.vio-dialog-artwork.is-details-hidden{grid-column:1/-1}.vio-dialog-image-wrap{background:#ffffff09;border:0;border-radius:4px;flex:auto;justify-content:center;align-items:center;width:100%;max-width:none;height:auto;min-height:0;max-height:none;display:flex;position:relative;overflow:hidden}.vio-dialog.is-landscape .vio-dialog-image-wrap,.vio-dialog.is-square .vio-dialog-image-wrap,.vio-dialog.is-portrait .vio-dialog-image-wrap{aspect-ratio:auto;width:100%;height:auto;max-height:none}.vio-dialog-backdrop[data-theme=light] .vio-dialog-image-wrap{background:#1422380b;border:0}.vio-dialog-image-wrap img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:100%;display:block}.vio-dialog.is-landscape .vio-dialog-image-wrap img,.vio-dialog.is-square .vio-dialog-image-wrap img,.vio-dialog.is-portrait .vio-dialog-image-wrap img{width:auto;max-width:100%;height:auto;max-height:100%}.vio-artwork-nav{color:#f8f9fc;cursor:pointer;background:#05101fd1;border:1px solid #93b6fa3d;border-radius:50%;place-items:center;width:38px;height:38px;transition:background .16s,border-color .16s;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.vio-artwork-nav:hover{border-color:var(--vio-accent);background:#122742f5}.vio-artwork-nav span{margin-top:-3px;font-family:Arial,sans-serif;font-size:30px;line-height:1}.vio-artwork-nav.is-previous{left:10px}.vio-artwork-nav.is-next{right:10px}.vio-artwork-toolbar{min-height:60px;color:var(--vio-dialog-copy);justify-content:space-between;align-items:center;gap:12px;display:flex}.vio-artwork-count{font-variant-numeric:tabular-nums;flex:none;font-size:11px}.vio-artwork-actions{align-items:center;gap:clamp(8px,1.2vw,18px);display:flex}.vio-artwork-action{width:28px;height:32px;color:var(--vio-dialog-copy);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;padding:0;transition:color .16s,transform .16s;display:grid}.vio-artwork-action:hover,.vio-artwork-action.is-active{color:var(--vio-accent)}.vio-artwork-action:active{transform:scale(.92)}.vio-artwork-action svg,.vio-view-full-size svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:20px;height:20px}.vio-artwork-action.is-active:first-child svg{fill:currentColor}.vio-artwork-more-wrap{position:relative}.vio-artwork-more-menu{z-index:4;border:1px solid var(--vio-line);background:#0d1d33;border-radius:6px;min-width:180px;padding:6px;display:grid;position:absolute;bottom:calc(100% + 8px);right:0;box-shadow:0 10px 32px #0000004d}.vio-artwork-more-menu a,.vio-artwork-more-menu button{color:#f8f9fc;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:10px;font-size:11px}.vio-artwork-more-menu a:hover,.vio-artwork-more-menu button:hover{color:var(--vio-accent);background:#93b6fa1f;border-radius:3px}.vio-dialog-backdrop[data-theme=light] .vio-artwork-more-menu{background:#fff;box-shadow:0 10px 32px #16273e29}.vio-dialog-backdrop[data-theme=light] .vio-artwork-more-menu a,.vio-dialog-backdrop[data-theme=light] .vio-artwork-more-menu button{color:#142238}.vio-artwork-action-status{clip:rect(0, 0, 0, 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.vio-dialog-meta{border-top:0;border-left:1px solid var(--vio-line);overscroll-behavior:contain;scrollbar-color:var(--vio-accent) transparent;scrollbar-width:thin;flex-direction:column;gap:0;min-width:0;min-height:0;padding:34px 26px 26px;display:flex;overflow:hidden auto}.vio-dialog-meta::-webkit-scrollbar{width:5px}.vio-dialog-meta::-webkit-scrollbar-thumb{background:var(--vio-accent);border-radius:5px}.vio-dialog-category{width:fit-content;max-width:100%;color:var(--vio-accent);overflow-wrap:anywhere;background:#93b6fa14;border:1px solid #93b6fa38;border-radius:999px;padding:6px 12px;font-size:10px;line-height:1.2}.vio-dialog-meta h2{color:var(--vio-dialog-text);overflow-wrap:anywhere;margin:14px 0 6px;font-size:clamp(23px,2.3vw,30px);font-weight:600;line-height:1.2}.vio-dialog-meta .vio-dialog-meta-line{color:var(--vio-muted);margin:0;font-size:12px}.vio-dialog-meta .vio-dialog-description{color:var(--vio-dialog-copy);margin:18px 0 0;font-size:12px;line-height:1.75}.vio-dialog-extra-details{border-top:1px solid var(--vio-line);gap:20px;margin-top:22px;padding-top:20px;display:grid}.vio-dialog-extra-details>div>span{color:var(--vio-muted);margin-bottom:8px;font-size:11px;display:block}.vio-dialog-extra-details p{color:var(--vio-dialog-text);margin:0;font-size:12px}.vio-dialog-extra-details ul{flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none;display:flex}.vio-dialog-extra-details li{border:1px solid var(--vio-line);color:var(--vio-dialog-copy);border-radius:999px;padding:6px 10px;font-size:10px}.vio-view-full-size{border:1px solid var(--vio-accent);width:100%;min-height:46px;color:var(--vio-accent);font:inherit;cursor:pointer;background:#93b6fa14;border-radius:5px;justify-content:center;align-items:center;gap:10px;margin-top:auto;padding:10px;font-size:12px;font-weight:500;transition:background .16s,color .16s;display:flex}.vio-view-full-size:hover{background:var(--vio-accent);color:var(--vio-ink)}.vio-view-full-size svg{width:17px;height:17px}.vio-full-size{z-index:4;background:#040b14fa;grid-template-rows:minmax(0,1fr) auto;padding:18px;display:grid;position:absolute;inset:0}.vio-dialog-backdrop[data-theme=light] .vio-full-size{background:#f4f7fbfa}.vio-full-size-close{z-index:2;color:#f8f9fc;width:42px;height:42px;font:inherit;cursor:pointer;background:#0b1728d1;border:1px solid #ccdafd33;border-radius:50%;place-items:center;display:grid;position:absolute;top:10px;right:10px}.vio-dialog-backdrop[data-theme=light] .vio-full-size-close{color:#142238;background:#ffffffeb;border-color:#0b172829}.vio-full-size-close span{font-size:26px;line-height:1}.vio-full-size-stage{touch-action:none;place-items:center;min-height:0;display:grid;overflow:hidden}.vio-full-size-stage.is-zoomed{cursor:grab}.vio-full-size-stage.is-zoomed:active{cursor:grabbing}.vio-full-size-stage img{object-fit:contain;transform-origin:50%;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:auto;max-width:100%;height:auto;max-height:100%;display:block}.vio-full-size-controls{color:#d5dbea;justify-content:center;align-items:center;gap:12px;padding:12px 0 2px;display:flex}.vio-dialog-backdrop[data-theme=light] .vio-full-size-controls{color:#142238}.vio-full-size-controls button{min-width:34px;min-height:34px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:1px solid #ccdafd33;border-radius:4px;padding:5px 10px}.vio-full-size-controls button:hover{border-color:var(--vio-accent);color:var(--vio-accent)}.vio-dialog-backdrop[data-theme=light] .vio-full-size-controls button{border-color:#0b172829}.vio-full-size-controls span{text-align:center;min-width:42px;font-size:11px}@media (width<=900px) and (width>=761px){.vio-dialog,.vio-dialog.is-landscape,.vio-dialog.is-portrait,.vio-dialog.is-square{width:min(100%,960px)}.vio-dialog-preview{grid-template-columns:minmax(0,1.2fr) minmax(250px,.8fr)}.vio-dialog-artwork{padding-inline:16px}.vio-dialog-meta{padding-inline:20px}}@media (width<=760px){.vio-dialog-backdrop{padding:10px}.vio-dialog,.vio-dialog.is-landscape,.vio-dialog.is-portrait,.vio-dialog.is-square{width:min(100%,560px);height:calc(100dvh - 20px);max-height:calc(100dvh - 20px);padding:0}.vio-dialog-preview{grid-template-rows:minmax(190px,44dvh) minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.vio-dialog-artwork{min-height:0;padding:44px 14px 6px}.vio-dialog-image-wrap{min-height:0}.vio-dialog.is-landscape .vio-dialog-image-wrap,.vio-dialog.is-square .vio-dialog-image-wrap,.vio-dialog.is-portrait .vio-dialog-image-wrap{aspect-ratio:auto;width:100%;height:auto;max-height:none}.vio-artwork-nav{width:34px;height:34px}.vio-artwork-nav.is-previous{left:6px}.vio-artwork-nav.is-next{right:6px}.vio-artwork-toolbar{min-height:46px}.vio-artwork-actions{gap:clamp(5px,2vw,12px)}.vio-artwork-action{width:26px;height:30px}.vio-artwork-action svg{width:18px;height:18px}.vio-dialog-meta{border-top:1px solid var(--vio-line);border-left:0;padding:16px 18px 18px}.vio-dialog-meta h2{margin-top:10px;font-size:23px}.vio-dialog-meta .vio-dialog-description{margin-top:12px}.vio-dialog-extra-details{gap:14px;margin-top:16px;padding-top:15px}.vio-view-full-size{margin-top:18px}.vio-full-size{padding:12px}}@media (width<=380px){.vio-artwork-count{font-size:10px}.vio-artwork-actions{gap:4px}}.admin-login{color:#f4f6fa;background:#0b1728;place-items:center;min-height:100vh;padding:24px;font-family:Poppins,sans-serif;display:grid}.admin-login form{background:#ffffff0a;border:1px solid #ccdafd2e;border-radius:20px;flex-direction:column;gap:12px;width:100%;max-width:420px;padding:36px;display:flex;box-shadow:0 24px 80px #00000040}.admin-login h1{letter-spacing:-.04em;margin:0;font-size:28px;font-weight:600}.admin-login form>p{color:#aebbd0;margin:0 0 12px;font-size:14px;line-height:1.7}.admin-login label{color:#dce5f8;margin-top:8px;font-size:13px}.admin-login input{box-sizing:border-box;color:#f4f6fa;width:100%;font:inherit;background:#111f33;border:1px solid #ccdafd33;border-radius:10px;outline:none;padding:13px 14px}.admin-login input:focus{border-color:#93b6fa;box-shadow:0 0 0 3px #93b6fa1f}.admin-login button{color:#0b1728;font:inherit;cursor:pointer;background:#ccdafd;border:0;border-radius:10px;margin-top:14px;padding:13px 16px;font-weight:600;transition:opacity .18s}.admin-login button:hover{opacity:.88}.admin-login button:disabled{opacity:.55;cursor:wait}.admin-login [role=alert]{color:#faa}.admin-login [role=status]{color:#b9e8c8}@media (width<=480px){.admin-login form{padding:26px 22px}}.admin-dashboard{color:#f4f6fa;background:#0b1728;min-height:100vh;font-family:Poppins,sans-serif;display:flex}.admin-sidebar{box-sizing:border-box;background:#091321;border-right:1px solid #ccdafd1f;flex-direction:column;flex-shrink:0;gap:10px;width:240px;padding:28px 18px;display:flex}.admin-brand{color:#f4f6fa;letter-spacing:-1px;margin:0 0 38px;font-size:25px;font-weight:600;text-decoration:none}.admin-brand span{color:#93b6fa}.admin-label{color:#8192ad;letter-spacing:.16em;font-size:10px;font-weight:600}.admin-sidebar>button,.admin-sidebar-bottom button,.admin-sidebar-bottom a{color:#b9c5d9;width:100%;font:inherit;text-align:left;cursor:pointer;box-sizing:border-box;background:0 0;border:1px solid #0000;border-radius:9px;padding:12px 14px;font-size:13px;text-decoration:none;display:block}.admin-sidebar>button:hover,.admin-sidebar>button.active{color:#ccdafd;background:#93b6fa1a;border-color:#93b6fa26}.admin-sidebar-bottom{gap:8px;margin-top:auto;display:grid}.admin-sidebar-bottom button{color:#ffb5b5}.admin-sidebar-bottom button:hover{background:#ffb5b514}.admin-main{flex:1;min-width:0;padding:42px clamp(22px,5vw,64px)}.admin-topbar{border-bottom:1px solid #ccdafd1f;justify-content:space-between;align-items:center;gap:20px;padding-bottom:28px;display:flex}.admin-topbar .admin-label{margin:0 0 10px}.admin-topbar h1{letter-spacing:-.04em;margin:0;font-size:clamp(28px,4vw,38px);font-weight:500}.admin-status{color:#ccdafd;white-space:nowrap;border:1px solid #93b6fa33;border-radius:999px;padding:8px 12px;font-size:11px}.admin-welcome{max-width:760px;padding-top:42px}.admin-welcome>.admin-label{margin-bottom:18px}.admin-welcome h2{letter-spacing:-.04em;margin:0 0 12px;font-size:clamp(23px,3vw,32px);font-weight:500}.admin-welcome>p:not(.admin-label){color:#aebbd0;font-size:14px;line-height:1.8}.admin-notice{background:#ffffff06;border:1px solid #ccdafd24;border-radius:14px;margin-top:30px;padding:24px}.admin-notice strong{color:#ccdafd;font-size:14px}.admin-notice p{color:#aebbd0;margin-bottom:0;font-size:13px;line-height:1.8}@media (width<=680px){.admin-dashboard{flex-direction:column}.admin-sidebar{border-bottom:1px solid #ccdafd1f;border-right:0;width:100%;padding:18px}.admin-brand{margin-bottom:12px}.admin-sidebar>.admin-label{margin:4px 0}.admin-sidebar-bottom{margin-top:8px}.admin-main{padding:28px 20px}.admin-topbar{flex-direction:column;align-items:flex-start}}
