:root{--paper:#f5f6f6;--ink:#26292b;--soft:#e5e7e7;--red:#c83f45;--turquoise:#159b9a;--deep-turquoise:#0d6f72;--gold:#c5a248;--gold-soft:#eadcae;--line:rgba(38,41,43,.14);--display:"Playfair Display",serif;--sans:"DM Sans",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.6}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:18px 5vw;background:rgba(245,246,246,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-weight:600;letter-spacing:.02em}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:linear-gradient(145deg,var(--red),#9d252c 62%,var(--gold));color:white;font-family:var(--display);font-size:17px}.site-header nav{display:flex;align-items:center;gap:25px;font-size:14px}.site-header nav a{transition:color .25s,opacity .25s}.site-header nav a:hover{color:var(--turquoise)}.contact-link{padding:10px 16px;border:1px solid var(--ink);border-radius:999px}.menu-toggle{display:none;border:0;background:none;font:inherit}.hero{min-height:88vh;display:grid;grid-template-columns:1.05fr .95fr;gap:6vw;align-items:center;padding:80px 7vw 90px;overflow:hidden}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:600;color:var(--red);margin:0 0 18px}.hero h1,.section h2{font-family:var(--display);font-weight:500;line-height:1.02;margin:0}.hero h1{font-size:clamp(58px,7.5vw,112px);letter-spacing:-.035em}.hero h1 em{color:var(--turquoise);font-weight:500}.intro{max-width:650px;font-size:19px;margin:28px 0 34px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border-radius:999px;font-weight:600;font-size:14px;transition:transform .25s,box-shadow .25s,background .25s}.button:hover{transform:translateY(-3px)}.primary{background:var(--red);color:white}.primary:hover{background:#aa3037;box-shadow:0 12px 30px rgba(200,63,69,.25)}.secondary{border:1px solid var(--ink)}.secondary:hover{border-color:var(--turquoise);color:var(--deep-turquoise)}.hero-image{position:relative;display:grid;place-items:center;min-height:620px}.image-shape{position:absolute;width:86%;aspect-ratio:1;border-radius:44% 56% 58% 42% / 48% 40% 60% 52%;background:linear-gradient(145deg,#d8dada 3%,var(--turquoise) 40%,var(--gold) 69%,var(--red));animation:morph 10s ease-in-out infinite}.hero-image img{position:relative;z-index:1;width:88%;height:590px;object-fit:contain;filter:drop-shadow(0 28px 30px rgba(0,0,0,.16));animation:float 6s ease-in-out infinite}.section{padding:110px 7vw}.section-heading{max-width:780px;margin-bottom:55px}.section h2{font-size:clamp(46px,6vw,86px);letter-spacing:-.025em}.section-note{margin-top:18px;color:#666}.about{background:var(--soft)}.about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:7vw;align-items:center}.about-image{background:white;border-radius:28px;padding:20px}.about-image img{width:100%;height:560px;object-fit:contain}.about-copy{max-width:720px;font-size:17px}.about-copy .lead{font-family:var(--display);font-size:34px;line-height:1.3;margin-top:0;color:var(--deep-turquoise)}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.paintings{background:#eef1f1}.paintings-grid{grid-template-columns:repeat(2,1fr);max-width:1100px}.art-card{margin:0;background:white;border:1px solid var(--line);border-radius:22px;overflow:hidden;cursor:zoom-in;transition:transform .35s,box-shadow .35s,border-color .35s}.art-card:hover{transform:translateY(-8px);box-shadow:0 24px 50px rgba(38,41,43,.12);border-color:rgba(197,162,72,.7)}.art-card img{width:100%;height:390px;object-fit:contain;padding:20px;transition:transform .55s}.paintings-grid .art-card img{height:560px;padding:0;object-fit:cover}.art-card:hover img{transform:scale(1.035)}.art-card figcaption{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:17px 18px;border-top:1px solid var(--line)}.art-card figcaption strong{font-size:15px}.art-card figcaption span{font-size:12px;color:#777;text-align:right}.studio{background:var(--soft)}.studio-card{display:grid;grid-template-columns:1.05fr .95fr;gap:55px;align-items:center;background:white;border-radius:28px;padding:55px;box-shadow:0 24px 60px rgba(38,41,43,.08);border-top:5px solid var(--gold)}.studio-card h2{font-size:clamp(44px,5vw,72px)}.studio-card p,.studio-card li{font-size:16px}.studio-card ul{padding-left:19px;margin:24px 0 30px}.studio-card img{width:100%;height:560px;object-fit:contain;background:#f8f8f8;border-radius:20px}.contact{text-align:center;min-height:62vh;display:grid;place-items:center;background:linear-gradient(135deg,#dfe2e2 0%,#b8dddd 34%,#eadcae 68%,#e4a7aa 100%)}.contact-inner{max-width:900px}.contact h2{font-size:clamp(54px,8vw,110px)}.email{display:inline-block;margin-top:34px;font-size:clamp(22px,3vw,38px);font-weight:600;border-bottom:2px solid var(--red)}.instagram{display:block;margin-top:20px;text-decoration:underline}.instagram:hover,.email:hover{color:var(--deep-turquoise)}footer{display:flex;justify-content:space-between;gap:20px;padding:26px 7vw;border-top:1px solid var(--line);font-size:12px}.lightbox{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:rgba(22,25,26,.95);padding:50px}.lightbox[hidden]{display:none}.lightbox img{max-width:min(92vw,1100px);max-height:82vh;object-fit:contain;animation:zoom .3s ease}.lightbox-close{position:absolute;top:18px;right:28px;border:0;background:none;color:white;font-size:50px;cursor:pointer}.lightbox-caption{position:absolute;bottom:18px;color:white}.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}@keyframes morph{0%,100%{border-radius:44% 56% 58% 42% / 48% 40% 60% 52%}50%{border-radius:58% 42% 45% 55% / 40% 56% 44% 60%}}@keyframes zoom{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@media(max-width:980px){.hero,.about-grid,.studio-card{grid-template-columns:1fr}.hero{padding-top:70px}.hero-image{min-height:520px}.hero-image img{height:500px}.gallery-grid,.paintings-grid{grid-template-columns:repeat(2,1fr)}.about-image img,.studio-card img{height:500px}}@media(max-width:700px){.site-header{padding:14px 20px}.menu-toggle{display:block}.site-header nav{position:absolute;top:71px;left:0;right:0;display:none;flex-direction:column;align-items:stretch;background:var(--paper);padding:22px;border-bottom:1px solid var(--line)}.site-header nav.open{display:flex}.contact-link{text-align:center}.hero{padding:70px 22px 80px}.hero h1{font-size:56px}.hero-image{min-height:420px}.hero-image img{height:400px}.section{padding:85px 22px}.gallery-grid,.paintings-grid{grid-template-columns:1fr}.art-card img{height:420px}.paintings-grid .art-card img{height:auto;max-height:620px;object-fit:contain;background:#fff}.studio-card{padding:28px;gap:30px}.about-image img,.studio-card img{height:420px}.about-copy .lead{font-size:28px}.email{font-size:20px}footer{flex-direction:column}}@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important;transition:none!important}.reveal{opacity:1;transform:none}}

.art-card figcaption strong{position:relative}.art-card figcaption strong:after{content:"";display:block;width:28px;height:2px;margin-top:7px;background:linear-gradient(90deg,var(--gold),var(--red));}.brand-mark{box-shadow:0 0 0 2px rgba(197,162,72,.35),0 8px 20px rgba(38,41,43,.12)}.contact-link:hover{border-color:var(--gold);color:#8f742f}.section-heading h2{position:relative;display:inline-block}.section-heading h2:after{content:"";display:block;width:64px;height:4px;margin-top:15px;border-radius:999px;background:linear-gradient(90deg,var(--turquoise),var(--gold),var(--red))}
.header-actions{display:flex;align-items:center;gap:20px}.language-switch{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:600;letter-spacing:.08em}.lang-btn{border:0;background:none;padding:6px 2px;font:inherit;color:#7b7e80;cursor:pointer;transition:color .25s}.lang-btn:hover,.lang-btn.active{color:var(--red)}.lang-btn.active{border-bottom:2px solid var(--gold)}
@media(max-width:700px){.header-actions{margin-left:auto}.language-switch{margin-right:2px}.site-header{flex-wrap:wrap}.site-header nav{top:70px}.brand{font-size:14px}.brand-mark{width:38px;height:38px}.menu-toggle{padding:6px}}

/* --- Signature motion upgrade --- */
body{overflow-x:hidden}
body::before,body::after{content:"";position:fixed;z-index:-2;width:34vw;height:34vw;border-radius:50%;filter:blur(90px);opacity:.16;pointer-events:none;animation:ambientDrift 16s ease-in-out infinite alternate}
body::before{left:-10vw;top:18vh;background:var(--turquoise)}
body::after{right:-12vw;bottom:4vh;background:linear-gradient(135deg,var(--red),var(--gold));animation-delay:-7s}
.scroll-progress{position:fixed;inset:0 auto auto 0;z-index:100;width:0;height:3px;background:linear-gradient(90deg,var(--turquoise),var(--gold),var(--red));box-shadow:0 0 14px rgba(197,162,72,.6);transform-origin:left center}
.site-header{transition:padding .35s ease,box-shadow .35s ease,background .35s ease}
.site-header.scrolled{padding-top:11px;padding-bottom:11px;box-shadow:0 12px 35px rgba(38,41,43,.09);background:rgba(245,246,246,.96)}
.brand-mark{position:relative;isolation:isolate;overflow:hidden;animation:brandPulse 4.8s ease-in-out infinite}
.brand-mark::after{content:"";position:absolute;inset:-50%;z-index:-1;background:conic-gradient(from 180deg,transparent,var(--gold),transparent,var(--turquoise),transparent);animation:spin 7s linear infinite}
.hero-copy>*{opacity:0;transform:translateY(24px);animation:heroRise .8s cubic-bezier(.2,.8,.2,1) forwards}
.hero-copy .eyebrow{animation-delay:.12s}.hero-copy h1{animation-delay:.24s}.hero-copy .intro{animation-delay:.39s}.hero-copy .hero-actions{animation-delay:.54s}
.hero h1 em{display:inline-block;background:linear-gradient(100deg,var(--turquoise),var(--gold),var(--red),var(--turquoise));background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent!important;animation:shimmerText 7s linear infinite}
.hero-image{perspective:1000px}
.hero-image::before,.hero-image::after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.hero-image::before{width:120px;height:120px;right:2%;top:10%;border:1px solid rgba(197,162,72,.7);box-shadow:inset 0 0 0 16px rgba(197,162,72,.06);animation:orbit 12s linear infinite}
.hero-image::after{width:24px;height:24px;left:8%;bottom:18%;background:var(--red);box-shadow:0 0 0 12px rgba(200,63,69,.08);animation:float 4s ease-in-out infinite reverse}
.hero-image img{will-change:transform;transition:transform .18s ease-out}
.image-shape{background-size:200% 200%;animation:morph 10s ease-in-out infinite,gradientFlow 9s ease infinite;box-shadow:0 30px 80px rgba(13,111,114,.18)}
.button{position:relative;overflow:hidden;isolation:isolate;will-change:transform}
.button::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.52) 48%,transparent 74%);transform:translateX(-140%);transition:transform .7s ease}
.button:hover::before{transform:translateX(140%)}
.section-heading h2{background:linear-gradient(110deg,var(--ink) 20%,var(--deep-turquoise) 52%,var(--ink) 82%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:headingGlint 10s ease-in-out infinite}
.gallery-grid{perspective:1400px}
.art-card{position:relative;transform-style:preserve-3d;will-change:transform;transition:transform .22s ease-out,box-shadow .35s,border-color .35s}
.art-card::before{content:"";position:absolute;inset:-1px;z-index:2;border-radius:22px;padding:1px;background:linear-gradient(130deg,transparent 15%,rgba(21,155,154,.75),rgba(197,162,72,.9),rgba(200,63,69,.75),transparent 85%);background-size:280% 100%;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;pointer-events:none;transition:opacity .35s;animation:borderTravel 5s linear infinite}
.art-card:hover::before{opacity:1}
.art-card:hover{box-shadow:0 30px 70px rgba(38,41,43,.17)}
.art-card img,.art-card figcaption{transform:translateZ(18px)}
.art-card figcaption{background:rgba(255,255,255,.92);backdrop-filter:blur(8px)}
.about-image,.studio-card{position:relative;overflow:hidden}
.about-image::after,.studio-card::after{content:"";position:absolute;inset:-120% -30%;background:linear-gradient(110deg,transparent 40%,rgba(255,255,255,.58) 50%,transparent 60%);transform:translateX(-45%) rotate(8deg);animation:softSweep 8s ease-in-out infinite;pointer-events:none}
.about-image img{transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.about-image:hover img{transform:scale(1.025)}
.contact{position:relative;overflow:hidden;background-size:220% 220%;animation:gradientFlow 11s ease infinite}
.contact::before{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(255,255,255,.44);border-radius:43% 57% 62% 38% / 47% 38% 62% 53%;animation:morph 9s ease-in-out infinite,spin 30s linear infinite;pointer-events:none}
.contact-inner{position:relative;z-index:1}
.email{position:relative;transition:letter-spacing .3s,color .3s}
.email:hover{letter-spacing:.025em}
.reveal{filter:blur(7px);transform:translateY(38px) scale(.985);transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1),filter .9s ease}
.reveal.visible{filter:blur(0);transform:none}
.gallery-grid .reveal:nth-child(3n+2){transition-delay:.10s}.gallery-grid .reveal:nth-child(3n+3){transition-delay:.20s}
.cursor-aura{position:fixed;left:0;top:0;width:240px;height:240px;border-radius:50%;pointer-events:none;z-index:0;background:radial-gradient(circle,rgba(21,155,154,.10),rgba(197,162,72,.05) 45%,transparent 72%);transform:translate(-50%,-50%);mix-blend-mode:multiply;opacity:0;transition:opacity .3s}
body:hover .cursor-aura{opacity:1}
@keyframes ambientDrift{to{transform:translate3d(8vw,-6vh,0) scale(1.16)}}
@keyframes brandPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.055)}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes heroRise{to{opacity:1;transform:none}}
@keyframes shimmerText{to{background-position:250% 0}}
@keyframes gradientFlow{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}
@keyframes headingGlint{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}
@keyframes borderTravel{to{background-position:280% 0}}
@keyframes softSweep{0%,65%{transform:translateX(-60%) rotate(8deg)}100%{transform:translateX(60%) rotate(8deg)}}
@keyframes orbit{to{transform:rotate(360deg) translateX(18px) rotate(-360deg)}}
@media(max-width:980px){.cursor-aura{display:none}.art-card{transform:none!important}.gallery-grid .reveal{transition-delay:0s}}
@media(prefers-reduced-motion:reduce){body::before,body::after,.scroll-progress,.cursor-aura{display:none!important}.hero-copy>*{opacity:1;transform:none}.section-heading h2,.hero h1 em{animation:none!important}}

/* --- Cross-device smoothness (iOS / Android) --- */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior-y:none;text-rendering:optimizeLegibility}
*{-webkit-tap-highlight-color:transparent}
a,button,.art-card,.lang-btn,.menu-toggle{touch-action:manipulation}
button,a{-webkit-user-select:none;user-select:none}
img{-webkit-user-drag:none}
.site-header{padding-left:max(5vw,env(safe-area-inset-left));padding-right:max(5vw,env(safe-area-inset-right))}
footer{padding-bottom:max(26px,env(safe-area-inset-bottom))}
.lightbox{padding:max(50px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(50px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}
.lightbox-close{width:48px;height:48px;display:grid;place-items:center;line-height:1;border-radius:50%;background:rgba(0,0,0,.35)}
.menu-toggle{min-width:44px;min-height:44px;padding:10px 12px;border-radius:10px}
.lang-btn{min-height:36px;padding:6px 8px}
.art-card{cursor:pointer}
/* Fix sticky header blur on iOS */
.site-header{-webkit-backdrop-filter:blur(14px)}
/* Constrain heavy background blobs on small screens to reduce paint cost */
@media(max-width:980px){
  body::before,body::after{width:60vw;height:60vw;filter:blur(70px);opacity:.12}
  .about-image::after,.studio-card::after,.contact::before{display:none}
  .image-shape{animation-duration:14s}
}
@media(max-width:700px){
  body::before,body::after{display:none}
  .site-header{padding-top:12px;padding-bottom:12px}
  .hero{padding-bottom:60px}
  .hero-image::before,.hero-image::after{display:none}
  .lightbox img{max-height:78vh}
}
/* Hover lift only on devices that actually hover */
@media(hover:none){
  .button:hover{transform:none;box-shadow:none}
  .art-card:hover{transform:none;box-shadow:none}
  .art-card:hover img{transform:none}
  .about-image:hover img{transform:none}
}
/* Smoother scroll progress via transform instead of width */
.scroll-progress{width:100%;transform:scaleX(0)}
