*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;min-height:100vh;line-height:1.6}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}h1,h2,h3,h4,h5,h6{text-wrap:balance;line-height:1.1}a{color:inherit;text-decoration:none}ul,ol{list-style:none}button{cursor:pointer;background:0 0;border:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.skip-link{top:-100%;left:var(--space-md,1rem);z-index:10000;padding:var(--space-sm,.5rem) var(--space-md,1rem);background:var(--color-accent,#c4693d);color:#fff;font-family:var(--font-body,sans-serif);font-size:var(--text-sm,.875rem);border-radius:0 0 var(--border-radius-sm,4px) var(--border-radius-sm,4px);font-weight:500;text-decoration:none;transition:top .2s;position:fixed}.skip-link:focus{outline-offset:2px;outline:2px solid #fff;top:0}:focus:not(:focus-visible){outline:none}:root{--font-heading:"Playfair Display", Georgia, "Times New Roman", serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-accent:"Cormorant Garamond", "Playfair Display", Georgia, serif;--text-xs:clamp(.694rem, .66vi + .53rem, .8rem);--text-sm:clamp(.833rem, .78vi + .64rem, .95rem);--text-base:clamp(.938rem, .5vi + .813rem, 1.063rem);--text-lg:clamp(1.125rem, .8vi + .925rem, 1.25rem);--text-xl:clamp(1.35rem, 1.2vi + 1.05rem, 1.6rem);--text-2xl:clamp(1.62rem, 1.6vi + 1.22rem, 2rem);--text-3xl:clamp(1.944rem, 2.2vi + 1.4rem, 2.5rem);--text-4xl:clamp(2.333rem, 3vi + 1.583rem, 3.2rem);--text-5xl:clamp(2.8rem, 4vi + 1.8rem, 4.5rem);--text-hero:clamp(3.5rem, 6vi + 2rem, 7rem);--leading-tight:1.1;--leading-snug:1.3;--leading-normal:1.6;--leading-relaxed:1.8;--tracking-tight:-.025em;--tracking-normal:0;--tracking-wide:.05em;--tracking-wider:.1em;--tracking-widest:.2em}h1,.h1{font-family:var(--font-heading);font-size:var(--text-hero);font-weight:400;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}h2,.h2{font-family:var(--font-heading);font-size:var(--text-4xl);font-weight:400;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}h3,.h3{font-family:var(--font-heading);font-size:var(--text-3xl);font-weight:500;line-height:var(--leading-snug)}h4,.h4{font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:500;line-height:var(--leading-snug)}h5,.h5{font-family:var(--font-heading);font-size:var(--text-xl);font-weight:600;line-height:var(--leading-snug)}body{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);font-weight:400}.text-accent,blockquote,.quote{font-family:var(--font-accent);font-style:italic;font-weight:400}.label,.overline{font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:var(--tracking-widest);text-transform:uppercase;font-weight:500}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes brushReveal{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 20px #b85c3800}50%{box-shadow:0 0 40px #b85c3826}}@keyframes rotateSlow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.page-transition-overlay{z-index:9999;background:var(--color-bg);transform-origin:bottom;pointer-events:none;position:fixed;inset:0;transform:scaleY(0)}.page-transition-overlay.is-entering{animation:pageEnter .6s var(--ease-out-expo) forwards}.page-transition-overlay.is-leaving{animation:pageLeave .6s var(--ease-out-expo) forwards}@keyframes pageEnter{0%{transform-origin:bottom;transform:scaleY(0)}to{transform-origin:bottom;transform:scaleY(1)}}@keyframes pageLeave{0%{transform-origin:top;transform:scaleY(1)}to{transform-origin:top;transform:scaleY(0)}}.preloader{z-index:10000;background:var(--color-bg);justify-content:center;align-items:center;gap:var(--space-md);transition:opacity .8s var(--ease-out-expo), visibility .8s;flex-direction:column;display:flex;position:fixed;inset:0}.preloader.is-loaded{opacity:0;visibility:hidden;pointer-events:none}.preloader__logo{font-family:var(--font-heading);font-size:var(--text-3xl);color:var(--color-text);letter-spacing:var(--tracking-wider);opacity:0;animation:fadeIn 1s var(--ease-out-expo) .3s forwards}.preloader__bar{background:var(--color-border);opacity:0;width:120px;height:2px;animation:fadeIn 1s var(--ease-out-expo) .6s forwards;border-radius:2px;overflow:hidden}.preloader__bar-fill{background:var(--color-accent);width:0%;height:100%;transition:width .3s var(--ease-out-quart);border-radius:2px}.char{opacity:0;display:inline-block;transform:translateY(20px)}.word{display:inline-block;overflow:hidden}.reveal{opacity:1;transform:none}.reveal.is-armed{opacity:0;transform:translateY(28px)}.reveal.is-in{opacity:1;transition:opacity .7s var(--ease-out-expo), transform .7s var(--ease-out-expo);transform:none}@media (prefers-reduced-motion:reduce){.reveal,.reveal.is-armed,.reveal.is-in{opacity:1;transition:none;transform:none}}.nav{z-index:1000;height:var(--nav-height);padding-inline:var(--space-lg);transition:transform .4s var(--ease-out-expo), background .3s ease;background:0 0;border-bottom:1px solid #0000;justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.nav--scrolled{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border-bottom:1px solid var(--glass-border)}.nav--hidden{transform:translateY(-100%)}.nav__logo{cursor:pointer;flex-direction:column;gap:0;transition:opacity .3s;display:flex}.nav__logo:hover{opacity:.8}.nav__logo-text{font-family:var(--font-heading);font-size:var(--text-xl);letter-spacing:var(--tracking-wider);color:var(--color-text);font-weight:400;line-height:1}.nav__logo-sub{font-family:var(--font-accent);font-size:var(--text-xs);color:var(--color-text-muted);letter-spacing:var(--tracking-wide);font-style:italic;line-height:1.2}.nav__links{align-items:center;gap:var(--space-lg);display:flex}.nav__link{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-secondary);letter-spacing:var(--tracking-wide);text-transform:uppercase;cursor:pointer;font-weight:400;transition:color .3s;position:relative}.nav__link:after{content:"";background:var(--color-accent);width:0;height:1px;transition:width .3s var(--ease-out-expo);position:absolute;bottom:-4px;left:0}.nav__link:hover,.nav__link.is-active{color:var(--color-text)}.nav__link:hover:after,.nav__link.is-active:after{width:100%}.nav__link--cta{padding:var(--space-2xs) var(--space-md);border:1px solid var(--color-accent);border-radius:var(--border-radius-sm);color:var(--color-accent);transition:all .3s}.nav__link--cta:hover{background:var(--color-accent);color:var(--color-text-inverse)}.nav__link--cta:after{display:none}.nav__burger{cursor:pointer;z-index:1001;flex-direction:column;gap:6px;padding:8px;display:none}.nav__burger-line{background:var(--color-text);width:24px;height:1.5px;transition:all .3s var(--ease-out-expo);transform-origin:50%;display:block}.nav__burger.is-open .nav__burger-line:first-child{transform:translateY(7.5px)rotate(45deg)}.nav__burger.is-open .nav__burger-line:nth-child(2){opacity:0;transform:scaleX(0)}.nav__burger.is-open .nav__burger-line:nth-child(3){transform:translateY(-7.5px)rotate(-45deg)}.nav__mobile-menu{z-index:999;-webkit-backdrop-filter:blur(30px);justify-content:center;align-items:center;gap:var(--space-2xl);opacity:0;visibility:hidden;transition:opacity .4s var(--ease-out-expo), visibility .4s;background:#faf7f2f2;flex-direction:column;display:flex;position:fixed;inset:0}.nav__mobile-menu.is-open{opacity:1;visibility:visible}.nav__mobile-links{align-items:center;gap:var(--space-lg);flex-direction:column;display:flex}.nav__mobile-link{font-family:var(--font-heading);font-size:var(--text-3xl);color:var(--color-text-secondary);letter-spacing:var(--tracking-wide);cursor:pointer;font-weight:400;transition:color .3s}.nav__mobile-link:hover,.nav__mobile-link.is-active{color:var(--color-accent)}.nav__mobile-footer{gap:var(--space-lg);display:flex}.nav__mobile-social{font-size:var(--text-xl);color:var(--color-text-muted);cursor:pointer;transition:color .3s}.nav__mobile-social:hover{color:var(--color-accent)}@media (max-width:1024px){.nav__links{display:none}.nav__burger{display:flex}}.footer{padding-block:var(--space-3xl) var(--space-xl);background:0 0;border-top:none;position:relative}.footer:before{content:"";background:linear-gradient(to bottom, var(--color-bg), var(--color-bg));pointer-events:none;height:80px;position:absolute;top:0;left:0;right:0}.footer__grid{gap:var(--space-2xl);margin-bottom:var(--space-3xl);grid-template-columns:1.5fr 1fr 1fr 1fr;display:grid}.footer__logo{margin-bottom:var(--space-md);cursor:pointer;flex-direction:column;gap:2px;display:flex}.footer__logo-text{font-family:var(--font-heading);font-size:var(--text-2xl);letter-spacing:var(--tracking-wider);color:var(--color-text);font-weight:400}.footer__logo-sub{font-family:var(--font-accent);font-size:var(--text-sm);color:var(--color-text-muted);font-style:italic}.footer__tagline{font-size:var(--text-sm);color:var(--color-text-muted);max-width:280px;line-height:var(--leading-relaxed)}.footer__heading{font-family:var(--font-body);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-widest);color:var(--color-text-muted);margin-bottom:var(--space-md);font-weight:500}.footer__links{gap:var(--space-xs);flex-direction:column;display:flex}.footer__links a,.footer__links span{font-size:var(--text-sm);color:var(--color-text-secondary);align-items:center;gap:var(--space-xs);cursor:pointer;transition:color .3s;display:flex}.footer__links a:hover{color:var(--color-accent)}.footer__bottom{padding-top:var(--space-xl);border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.footer__copy,.footer__credit{font-size:var(--text-xs);color:var(--color-text-muted)}.footer__heart{color:var(--color-accent-deep)}@media (max-width:768px){.footer__grid{gap:var(--space-xl);grid-template-columns:1fr 1fr}.footer__bottom{gap:var(--space-xs);text-align:center;flex-direction:column}}@media (max-width:480px){.footer__grid{grid-template-columns:1fr}}.cursor{pointer-events:none;z-index:10001;position:fixed;top:0;left:0}.cursor__dot{background:var(--color-text);pointer-events:none;opacity:0;border-radius:50%;width:6px;height:6px;position:fixed;top:-3px;left:-3px}.cursor__ring{border:1px solid var(--color-border-hover);pointer-events:none;opacity:0;width:40px;height:40px;transition:width .3s var(--ease-out-expo), height .3s var(--ease-out-expo), top .3s var(--ease-out-expo), left .3s var(--ease-out-expo), border-color .3s ease;border-radius:50%;position:fixed;top:-20px;left:-20px}.cursor__ring.is-hover{border-color:var(--color-accent);width:60px;height:60px;top:-30px;left:-30px}.cursor__ring.is-clicking{transform:scale(.85)}@media (hover:none),(max-width:768px){.cursor,.cursor__dot,.cursor__ring{display:none!important}}body.has-custom-cursor .cursor,body.has-custom-cursor .cursor__dot,body.has-custom-cursor .cursor__ring{display:none!important}.brush-cursor{z-index:10000;pointer-events:none;position:fixed;inset:0}@media (hover:none),(max-width:768px),(prefers-reduced-motion:reduce){.brush-cursor{display:none!important}}.btn{align-items:center;gap:var(--space-xs);font-family:var(--font-body);font-size:var(--text-sm);letter-spacing:var(--tracking-wide);text-transform:uppercase;padding:var(--space-sm) var(--space-xl);border-radius:var(--border-radius-sm);transition:all .3s var(--ease-out-expo);cursor:pointer;white-space:nowrap;font-weight:500;display:inline-flex}.btn--primary{background:var(--color-accent);color:var(--color-text-inverse);border:1px solid var(--color-accent)}.btn--primary:hover{background:var(--color-accent-hover);box-shadow:var(--shadow-glow);transform:translateY(-2px)}.btn--outline{color:var(--color-text-secondary);border:1px solid var(--color-border-hover);background:0 0}.btn--outline:hover{border-color:var(--color-accent);color:var(--color-accent);transform:translateY(-2px)}.btn--text{color:var(--color-accent);padding:var(--space-xs) 0;background:0 0;border:none;font-weight:500}.btn--text:hover{gap:var(--space-sm)}.btn--large{padding:var(--space-md) var(--space-2xl);font-size:var(--text-base)}.hero{align-items:center;min-height:100dvh;display:flex;position:relative;overflow:hidden}.hero__canvas{z-index:0;position:absolute;inset:0}.hero__canvas canvas{display:block;width:100%!important;height:100%!important}.hero__3d-gallery{z-index:1;pointer-events:none;position:absolute;inset:0}.hero__3d-gallery canvas{display:block;width:100%!important;height:100%!important}.hero__bg{z-index:0;background:radial-gradient(at 20%,#b85c380f 0%,#0000 60%),radial-gradient(at 80% 20%,#c9a96e0d 0%,#0000 50%),radial-gradient(at 50% 80%,#d4956b0a 0%,#0000 50%);position:absolute;inset:0}.hero__overlay{z-index:2;pointer-events:none;background:linear-gradient(#faf7f21a 0%,#faf7f200 30% 60%,#faf7f280 100%);position:absolute;inset:0}.hero__content{z-index:3;padding-top:calc(var(--nav-height) + var(--space-3xl));padding-bottom:var(--space-3xl);position:relative}.hero__text{max-width:800px}.hero__brand{font-family:var(--font-heading);letter-spacing:.02em;color:var(--color-text);margin:0 0 var(--space-md);font-size:clamp(1.35rem,2.4vw + .6rem,2.4rem);font-weight:400;line-height:1.1}.hero__brand:after{content:"";width:3.5rem;height:1px;margin-top:var(--space-sm);background:var(--color-accent);display:block}.hero__title{margin-bottom:var(--space-lg);color:var(--color-text);perspective:600px}.hero__title-line{display:block;overflow:hidden}.hero__title-line--accent{color:var(--color-accent)}.hero__char{will-change:transform, opacity;transition:color .3s;display:inline-block}.hero__char:hover{color:var(--color-accent)}.hero__subtitle{font-size:var(--text-lg);color:var(--color-text-muted);margin-bottom:var(--space-xl)}.hero__cta-group{gap:var(--space-md);flex-wrap:wrap;display:flex}.hero__scroll-hint{bottom:var(--space-xl);align-items:center;gap:var(--space-xs);flex-direction:column;display:flex;position:absolute;left:50%;transform:translate(-50%)}.hero__scroll-text{font-family:var(--font-body);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-widest);color:var(--color-text-muted)}.hero__scroll-line{background:linear-gradient(to bottom, var(--color-accent), transparent);width:1px;height:40px;animation:2s ease-in-out infinite float}.story__content{text-align:center;padding:var(--space-2xl) 0}.story__quote{font-family:var(--font-accent);font-size:var(--text-3xl);color:var(--color-text);font-style:italic;font-weight:400;line-height:var(--leading-snug);margin-block:var(--space-lg);position:relative}.story__quote-line{display:block}.story__quote:before{content:"\"";color:var(--color-accent);opacity:.2;font-size:5rem;font-family:var(--font-heading);line-height:1;position:absolute;top:-20px;left:-10px}.story__text{font-size:var(--text-lg);color:var(--color-text-secondary);line-height:var(--leading-relaxed);max-width:650px;margin-inline:auto}.showcase__header{text-align:center;margin-bottom:var(--space-2xl)}.showcase__title{margin-block:var(--space-sm)}.showcase__desc{font-size:var(--text-lg);max-width:550px;color:var(--color-text-muted);margin-inline:auto}.showcase__grid{gap:var(--space-lg);margin-bottom:var(--space-xl);grid-template-columns:repeat(3,1fr);display:grid}.showcase__card{transition-delay:var(--delay,0s);color:inherit;text-decoration:none;display:block}.showcase__card:focus-visible{outline:2px solid var(--color-accent);outline-offset:6px}.showcase__card-img{border-radius:var(--border-radius-md);display:block;position:relative;overflow:hidden}.showcase__card-img img{object-fit:cover;width:100%;height:118%;transition:transform .6s var(--ease-out-expo);display:block;position:absolute;top:-9%;left:0}.showcase__card-img:hover img{transform:scale(1.08)}.showcase__card-overlay{z-index:1;padding:var(--space-lg);opacity:0;background:linear-gradient(#0000 50%,#1a1612cc 100%);flex-direction:column;justify-content:flex-end;transition:opacity .4s;display:flex;position:absolute;inset:0}.showcase__card-img:hover .showcase__card-overlay,.showcase__card:focus-visible .showcase__card-overlay{opacity:1}@media (hover:none){.showcase__card-overlay{opacity:1}}.showcase__card-title{font-family:var(--font-heading);font-size:var(--text-xl);color:var(--color-text-inverse);margin-bottom:var(--space-2xs)}.showcase__card-info{font-size:var(--text-xs);color:var(--color-text-inverse);opacity:.82;text-transform:uppercase;letter-spacing:var(--tracking-wide)}.showcase__link{text-align:center}.showcase--alt{background:0 0}.services__header{text-align:center;margin-bottom:var(--space-2xl)}.services__grid{gap:var(--space-lg);grid-template-columns:repeat(4,1fr);display:grid}.services__card{padding:var(--space-xl);border-radius:var(--border-radius-lg);text-align:center;transition:transform .3s var(--ease-out-expo), box-shadow .3s ease;cursor:pointer}.services__card:hover{box-shadow:var(--shadow-lg);transform:translateY(-8px)}.services__icon{color:var(--color-accent);margin-bottom:var(--space-md);font-size:2.5rem}.services__card h4{margin-bottom:var(--space-sm)}.services__card p{font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--leading-normal)}.cta-section{background:0 0;position:relative}.cta-section__inner{text-align:center}.cta-section__title{margin-block:var(--space-sm) var(--space-md)}.cta-section__text{font-size:var(--text-lg);color:var(--color-text-muted);max-width:500px;margin-inline:auto;margin-bottom:var(--space-xl)}.cta-section__buttons{justify-content:center;gap:var(--space-md);flex-wrap:wrap;display:flex}@media (max-width:1024px){.services__grid{grid-template-columns:repeat(2,1fr)}.hero__scroll-hint{display:none}.hero__cta-group{flex-direction:column;align-items:flex-start}}@media (max-width:768px){.hero__title{font-size:var(--text-4xl)}.hero__content{padding-top:calc(var(--nav-height,60px) + var(--space-xl,2rem));padding-bottom:var(--space-xl,2rem)}.hero__subtitle{font-size:var(--text-base,1rem)}.showcase__grid{grid-template-columns:repeat(2,1fr)}.story__quote{font-size:var(--text-2xl)}.services__grid{grid-template-columns:1fr}.btn{min-height:44px;padding:var(--space-sm,.5rem) var(--space-lg,1.5rem)}}@media (max-width:480px){.hero__title{font-size:var(--text-3xl,1.875rem)}.showcase__grid{grid-template-columns:1fr}.hero__cta-group{flex-direction:column;width:100%}.hero__cta-group .btn{justify-content:center;width:100%}.cta-section__buttons{flex-direction:column;align-items:center}.showcase__card-overlay{opacity:1}}@media (hover:none){.showcase__card-overlay{opacity:1}.cursor,.cursor__trail{display:none!important}}.brush-trail{z-index:5;pointer-events:none;width:0;height:0;position:fixed;top:0;right:0}.brush-trail__brush{opacity:0;z-index:6;pointer-events:none;transform-origin:70% 80%;will-change:transform, opacity;width:100px;position:fixed;top:8vh;right:0}.brush-trail__brush-img{filter:drop-shadow(2px 4px 10px #0003);width:100%;height:auto}.brush-trail__stroke{display:none}.brush-trail__section-stroke{clip-path:inset(0 0 100%);pointer-events:none;z-index:4;width:140px;position:absolute;top:0;bottom:0;right:-20px}.brush-trail__section-stroke img{object-fit:fill;opacity:.3;width:100%;height:100%}@media (max-width:1024px){.brush-trail,.brush-trail__section-stroke{display:none!important}}@media (prefers-reduced-motion:reduce){.brush-trail__section-stroke{clip-path:inset(0)!important}.brush-trail__brush{display:none}}.gallery__header{text-align:center;margin-bottom:var(--space-xl)}.gallery__subtitle{font-size:var(--text-lg);color:var(--color-text-secondary);margin-top:var(--space-sm)}.gallery__filters{justify-content:center;gap:var(--space-sm);margin-bottom:var(--space-2xl);flex-wrap:wrap;display:flex}.gallery__filter{font-family:var(--font-body);font-size:var(--text-sm);min-height:44px;padding:var(--space-xs) var(--space-lg);border:1px solid var(--color-border);border-radius:var(--border-radius-xl);color:var(--color-text-secondary);cursor:pointer;background:0 0;transition:color .25s,border-color .25s,background-color .25s}.gallery__filter:hover{border-color:var(--color-accent);color:var(--color-text)}.gallery__filter.is-active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-text-inverse)}.gallery__grid{gap:var(--space-xl) var(--space-lg);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));align-items:start;display:grid}.gallery__item{gap:var(--space-sm);text-align:left;cursor:pointer;font:inherit;color:inherit;background:0 0;border:0;flex-direction:column;padding:0;display:flex}.gallery__item:focus-visible{outline:2px solid var(--color-accent);outline-offset:6px}.gallery__item-img{border-radius:var(--border-radius-md);transition:transform .5s var(--ease-out-expo);display:block;position:relative;overflow:hidden}.gallery__item-img.is-round{border-radius:50%}.gallery__item-img img{object-fit:cover;width:100%;height:100%;transition:transform .6s var(--ease-out-expo);display:block;position:absolute;inset:0}.gallery__item:hover .gallery__item-img{transform:translateY(-4px)}.gallery__item:hover .gallery__item-img img{transform:scale(1.04)}.gallery__label{display:block}.gallery__label-title{font-family:var(--font-heading);font-size:var(--text-lg);color:var(--color-text);line-height:1.2;display:block}.gallery__label-meta{margin-top:var(--space-2xs);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-accent);display:block}.gallery__label-dim{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:2px;display:block}body.is-locked{overflow:hidden}.work{z-index:9000;padding:var(--space-lg);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.work__veil{background:color-mix(in srgb, var(--color-bg) 88%, #000);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);position:absolute;inset:0}.work__box{overscroll-behavior:contain;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-md);width:min(1100px,100%);max-height:90vh;padding:var(--space-xl);position:relative;overflow-y:auto}.work__body{gap:var(--space-xl);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}.work__art{border-radius:var(--border-radius-sm);margin:0;position:sticky;top:0;overflow:hidden}.work__art.is-round{border-radius:50%}.work__art img{width:100%;height:auto;display:block}.work__text h2{margin:var(--space-2xs) 0 var(--space-md);font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.1}.work__sub{font-family:var(--font-body);font-size:var(--text-sm);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-text-muted);display:block}.work__specs{gap:4px var(--space-md);margin:0 0 var(--space-lg);padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-border);font-size:var(--text-sm);grid-template-columns:max-content 1fr;display:grid}.work__specs dt{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wide);font-size:var(--text-xs);align-self:center}.work__specs dd{color:var(--color-text);margin:0}.work__para{color:var(--color-text-secondary);margin-bottom:var(--space-md);max-width:62ch}.work__ask{margin-top:var(--space-sm)}.work__close,.work__nav{z-index:2;border:1px solid var(--color-border);background:var(--color-bg);width:44px;height:44px;color:var(--color-text);cursor:pointer;border-radius:50%;place-items:center;font-size:1.4rem;line-height:1;transition:border-color .25s,color .25s;display:grid;position:absolute}.work__close:hover,.work__nav:hover{border-color:var(--color-accent);color:var(--color-accent)}.work__close{top:var(--space-sm);right:var(--space-sm)}.work__nav{bottom:var(--space-sm)}.work__nav--prev{left:var(--space-sm)}.work__nav--next{left:calc(var(--space-sm) + 52px)}@media (max-width:600px){.gallery__grid{gap:var(--space-lg) var(--space-sm);grid-template-columns:repeat(2,1fr)}.gallery__label-title{font-size:var(--text-base)}}@media (max-width:860px){.work{padding:0}.work__box{height:100%;max-height:100vh;padding:var(--space-lg) var(--space-md) calc(var(--space-lg) + 60px);border-radius:0}.work__body{grid-template-columns:1fr}.work__art{position:static}.work__nav{bottom:var(--space-md);position:fixed}.work__nav--next{left:calc(var(--space-md) + 52px)}}@media (prefers-reduced-motion:reduce){.gallery__item-img,.gallery__item-img img{transition:none}.gallery__item:hover .gallery__item-img,.gallery__item:hover .gallery__item-img img{transform:none}.work__veil{-webkit-backdrop-filter:none;backdrop-filter:none}}.work[hidden]{display:none!important}.gallery__sold{border:1px solid var(--color-border-hover);border-radius:var(--border-radius-xl);font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-text-muted);vertical-align:middle;margin-left:.5em;padding:.1em .55em;display:inline-block}.gallery__label-price{margin-top:var(--space-2xs);font-family:var(--font-heading);font-size:var(--text-base);color:var(--color-accent);line-height:1.25;display:block}.gallery__label-framed{font-family:var(--font-body);font-size:var(--text-xs);color:var(--color-text-muted)}.gallery__label-ship{font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);color:var(--color-text-muted);display:block}.work__ship,.work__framed{font-size:var(--text-sm);color:var(--color-text-muted)}.about__header{text-align:center;margin-bottom:var(--space-3xl)}.about__subtitle{font-size:var(--text-lg);color:var(--color-text-muted);max-width:500px;margin-inline:auto;margin-top:var(--space-sm)}.about__grid{gap:var(--space-3xl);margin-bottom:var(--space-4xl);grid-template-columns:1fr 1.5fr;display:grid}.about__portrait-frame{border-radius:var(--border-radius-lg);width:100%}.about__bio h3{margin-bottom:var(--space-md);color:var(--color-accent)}.about__bio p{color:var(--color-text-secondary);line-height:var(--leading-relaxed);margin-bottom:var(--space-md)}.about__techniques{gap:var(--space-md);margin-top:var(--space-lg);grid-template-columns:repeat(3,1fr);display:grid}.about__technique{padding:var(--space-md);border-radius:var(--border-radius-md);text-align:center}.about__technique h5{color:var(--color-accent);margin-bottom:var(--space-xs)}.about__technique p{font-size:var(--text-sm);margin-bottom:0}.about__timeline{margin-top:var(--space-3xl)}.about__timeline h2{text-align:center;margin-bottom:var(--space-2xl)}.timeline{padding-left:var(--space-2xl);position:relative}.timeline:before{content:"";background:var(--color-border);width:1px;position:absolute;top:0;bottom:0;left:8px}.timeline__item{padding-bottom:var(--space-xl);padding-left:var(--space-xl);transition-delay:var(--delay,0s);position:relative}.timeline__dot{left:calc(-1 * var(--space-2xl) + 4px);background:var(--color-accent);border:2px solid var(--color-bg);border-radius:50%;width:10px;height:10px;position:absolute;top:4px}.timeline__year{font-family:var(--font-heading);font-size:var(--text-lg);color:var(--color-accent);font-weight:600}.timeline__text{color:var(--color-text-secondary);margin-top:var(--space-2xs)}.exhibitions__header{text-align:center;margin-bottom:var(--space-2xl)}.exhibitions__grid{gap:var(--space-lg);grid-template-columns:repeat(2,1fr);display:grid}.exhibition-card{padding:var(--space-xl);border-radius:var(--border-radius-lg);position:relative}.exhibition-card h3{margin-bottom:var(--space-2xs)}.exhibition-card__status{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-widest);padding:2px var(--space-sm);border-radius:var(--border-radius-xl);margin-bottom:var(--space-md);display:inline-block}.exhibition-card__status--completed{color:var(--color-accent);background:#c4693d26}.exhibition-card__status--ongoing{color:var(--color-accent-gold);background:#c9a96e26}.exhibition-card__meta{gap:var(--space-xs);margin-top:var(--space-md);font-size:var(--text-sm);color:var(--color-text-muted);flex-direction:column;display:flex}.exhibition-card__meta span{align-items:center;gap:var(--space-xs);display:flex}.commissions__header{text-align:center;margin-bottom:var(--space-3xl)}.commissions__subtitle{font-size:var(--text-lg);color:var(--color-text-muted);max-width:500px;margin-inline:auto;margin-top:var(--space-sm)}.commissions__steps{gap:var(--space-lg);margin-bottom:var(--space-2xl);grid-template-columns:repeat(2,1fr);display:grid}.commission-step{padding:var(--space-xl);border-radius:var(--border-radius-lg)}.commission-step__num{font-family:var(--font-heading);font-size:var(--text-4xl);color:var(--color-accent);opacity:.3;margin-bottom:var(--space-sm);line-height:1;display:block}.commission-step h4{margin-bottom:var(--space-sm)}.commission-step p{color:var(--color-text-muted);font-size:var(--text-sm)}.commissions__cta{text-align:center}.contact__header{text-align:center;margin-bottom:var(--space-2xl)}.contact__grid{gap:var(--space-3xl);grid-template-columns:1fr 1fr;display:grid}.contact__info h3{margin-bottom:var(--space-md);color:var(--color-accent)}.contact__info>p{color:var(--color-text-secondary);line-height:var(--leading-relaxed);margin-bottom:var(--space-xl)}.contact__details{gap:var(--space-lg);flex-direction:column;display:flex}.contact__detail{align-items:flex-start;gap:var(--space-md);display:flex}.contact__detail i{font-size:var(--text-xl);color:var(--color-accent);margin-top:2px}.contact__detail .label{margin-bottom:var(--space-2xs);display:block}.contact__detail a{color:var(--color-text);cursor:pointer;transition:color .3s}.contact__detail a:hover{color:var(--color-accent)}.contact__form{padding:var(--space-xl);border-radius:var(--border-radius-lg);gap:var(--space-md);flex-direction:column;display:flex}.form-group{gap:var(--space-2xs);flex-direction:column;display:flex}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--color-border);border-radius:var(--border-radius-sm);padding:var(--space-sm) var(--space-md);color:var(--color-text);background:#1a161208;transition:border-color .3s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--color-accent);outline:none}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-text-muted)}.form-group select option{background:var(--color-bg)}.shop__header{text-align:center;margin-bottom:var(--space-2xl)}.shop__grid{gap:var(--space-lg);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.shop__card{padding:var(--space-md);border-radius:var(--border-radius-lg);transition:transform .3s var(--ease-out-expo)}.shop__card:hover{transform:translateY(-4px)}.shop__card-img{border-radius:var(--border-radius-md);margin-bottom:var(--space-md)}.shop__card-info h4{margin-bottom:var(--space-2xs)}.shop__card-series{font-size:var(--text-xs);color:var(--color-accent);text-transform:uppercase;letter-spacing:var(--tracking-wide);margin-bottom:var(--space-2xs)}.shop__card-details{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-md)}@media (max-width:768px){.about__grid,.about__techniques,.exhibitions__grid,.commissions__steps,.contact__grid{grid-template-columns:1fr}}.shop__card-price{font-family:var(--font-heading);font-size:var(--text-lg);color:var(--color-accent);margin-bottom:var(--space-md);line-height:1.2}.shop__card-framed{font-family:var(--font-body);font-size:var(--text-xs);color:var(--color-text-muted)}.shop__card-ship{font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);color:var(--color-text-muted);display:block}.frame-scrubber{width:100%;position:relative;overflow:hidden}.frame-scrubber__canvas{object-fit:cover;z-index:0;width:100%;height:100%;position:absolute;inset:0}.hero .frame-scrubber{z-index:0;position:absolute;inset:0}.hero .frame-scrubber:before{content:"";background:linear-gradient(180deg, var(--color-bg,#faf7f2) 0%, #faf7f2b3 40%, transparent 100%);z-index:2;pointer-events:none;height:30%;position:absolute;top:0;left:0;right:0}.hero .frame-scrubber:after{content:"";background:linear-gradient(0deg, var(--color-bg,#faf7f2) 0%, #faf7f2cc 30%, transparent 100%);z-index:2;pointer-events:none;height:40%;position:absolute;bottom:0;left:0;right:0}.hero .hero__canvas.frame-scrubber .frame-scrubber__canvas{-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 8% 92%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 8% 92%,#0000 100%)}.hero .frame-scrubber .frame-scrubber__canvas{filter:saturate(.85)contrast(1.05)}.frame-scrubber-section{height:300vh;position:relative}.frame-scrubber-section .frame-scrubber{height:100vh;height:100dvh;position:sticky;top:0}.frame-scrubber--loading .frame-scrubber__canvas{opacity:0}.frame-scrubber--ready .frame-scrubber__canvas{opacity:1;transition:opacity 1.2s cubic-bezier(.16,1,.3,1)}.frame-scrubber__fallback{z-index:-1;background-position:50%;background-size:cover;position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.frame-scrubber-section{height:100vh;height:100dvh}}:root{--space-2xs:clamp(.25rem, .2vi + .2rem, .375rem);--space-xs:clamp(.5rem, .4vi + .35rem, .75rem);--space-sm:clamp(.75rem, .6vi + .55rem, 1rem);--space-md:clamp(1rem, .8vi + .75rem, 1.5rem);--space-lg:clamp(1.5rem, 1.2vi + 1rem, 2rem);--space-xl:clamp(2rem, 2vi + 1.25rem, 3rem);--space-2xl:clamp(3rem, 3vi + 1.75rem, 4.5rem);--space-3xl:clamp(4rem, 5vi + 2rem, 7rem);--space-4xl:clamp(6rem, 7vi + 3rem, 10rem);--container-max:1400px;--container-narrow:900px;--container-wide:1600px;--nav-height:80px;--border-radius-sm:4px;--border-radius-md:8px;--border-radius-lg:16px;--border-radius-xl:24px;--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--ease-out-quart:cubic-bezier(.25, 1, .5, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--ease-elastic:cubic-bezier(.68, -.55, .265, 1.55);--duration-fast:.15s;--duration-base:.25s;--duration-slow:.4s;--duration-slower:.6s;--shadow-sm:0 1px 3px #1a16120f;--shadow-md:0 4px 12px #1a161214;--shadow-lg:0 8px 30px #1a16121a;--shadow-xl:0 16px 50px #1a16121f;--shadow-glow:0 0 40px #b85c381f;--color-bg:#15110e;--color-bg-warm:#1c1713;--color-bg-lighter:#221c17;--color-surface:#241d18;--color-surface-hover:#2e2620;--color-text:#ede4d9;--color-text-secondary:#b9a896;--color-text-muted:#9a8876;--color-text-inverse:#15110e;--color-accent:#d98a57;--color-accent-hover:#e79e6f;--color-accent-warm:#c2703c;--color-accent-deep:#8a3a1c;--color-accent-gold:#c2a56b;--color-border:#ede4d91f;--color-border-hover:#ede4d938;--color-overlay:#15110ee0;--color-overlay-heavy:#15110ef5;--glass-bg:#15110eb8;--glass-border:#ede4d914;--glass-blur:20px}html,body{background-color:var(--color-bg);color:var(--color-text);overflow-x:hidden}body.has-custom-cursor{cursor:none}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-surface);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-accent)}::selection{background:var(--color-accent);color:var(--color-text-inverse)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.container{width:100%;max-width:var(--container-max);padding-inline:var(--space-lg);margin-inline:auto}.container--narrow{max-width:var(--container-narrow)}.container--wide{max-width:var(--container-wide)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border)}.section{padding-block:var(--space-3xl);position:relative}#global-3d-bg{z-index:0;pointer-events:none;position:fixed;inset:0}#global-3d-bg canvas{display:block;width:100%!important;height:100%!important}#app{z-index:1;background:0 0;min-height:100vh;position:relative}.page-content{padding-top:var(--nav-height)}@media (max-width:768px){body{cursor:auto}}@media (hover:none){body{cursor:auto}}html{scroll-behavior:smooth;scroll-snap-type:y proximity}.section,section[id],.hero{scroll-snap-align:start;scroll-snap-stop:normal}:where(.section,section[id],.hero){scroll-margin-top:var(--nav-height,72px)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;scroll-snap-type:none}}
