@font-face{font-family:Manrope;src:url('assets/manrope-400.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Manrope;src:url('assets/manrope-600.ttf') format('truetype');font-style:normal;font-weight:600;font-display:swap}@font-face{font-family:Manrope;src:url('assets/manrope-800.ttf') format('truetype');font-style:normal;font-weight:800;font-display:swap}
:root{--bg:#101011;--surface:#19191c;--text:#f4f3f0;--muted:#b3b1b8;--line:#38383d;--accent:#ae96ff;--button:#aa8bff;--button-text:#181126;--header:rgba(16,16,17,.94);--space:clamp(1.35rem,5vw,5.5rem);--ease:cubic-bezier(.2,.7,.2,1);color-scheme:dark;font-size:112.5%;scroll-behavior:smooth;scroll-padding-top:6rem}
:root[data-theme=light]{--bg:#f6f5f2;--surface:#eae8e5;--text:#19181c;--muted:#5d5865;--line:#ccc9d0;--accent:#6140be;--button:#5c39b5;--button-text:#fff;--header:rgba(246,245,242,.95);color-scheme:light}
:root[data-text=small]{font-size:100%}:root[data-text=large]{font-size:131.25%}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Manrope,Arial,sans-serif;line-height:1.65;transition:background .3s,color .3s}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:default}button,a{touch-action:manipulation}button{background:none;border:0}img{max-width:100%;display:block}svg{display:block}::selection{background:var(--accent);color:var(--bg)}:focus-visible{outline:3px solid var(--accent);outline-offset:6px}h1,h2,h3,p,figure,blockquote{margin:0}h1,h2,h3{font-weight:800;line-height:1.08;letter-spacing:-.055em}h2{font-size:clamp(2.5rem,5.2vw,4.7rem)}h3{font-size:1.3rem;letter-spacing:-.035em}p{line-height:1.75}button[hidden],[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;clip:rect(0,0,0,0);overflow:hidden}.skip-link{position:fixed;top:-100px;left:1rem;background:var(--accent);color:#111;padding:1rem;z-index:100}.skip-link:focus{top:1rem}.reading-progress{position:fixed;left:0;top:0;height:3px;width:100%;transform:scaleX(0);transform-origin:left;background:var(--accent);z-index:80}
.site-header{height:5.6rem;display:flex;align-items:center;justify-content:space-between;gap:1.2rem;padding:0 var(--space);position:sticky;top:0;z-index:30;background:var(--header);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}.wordmark{font-weight:800;letter-spacing:.2em;font-size:.95rem;white-space:nowrap;line-height:1.3}.wordmark span{display:block;font-weight:400;font-size:.64rem;letter-spacing:.28em;margin-top:.5rem;color:var(--muted)}.desktop-nav{display:flex;gap:2rem;font-size:.82rem}.desktop-nav a{position:relative;padding:.5rem 0}.desktop-nav a:after{content:'';position:absolute;bottom:0;left:0;width:100%;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .3s}.desktop-nav a:hover:after,.desktop-nav a[aria-current]:after{transform:scaleX(1)}.header-actions{display:flex;align-items:center;gap:.55rem}.icon-button{width:2.65rem;min-width:2.65rem;height:2.65rem;display:inline-flex;align-items:center;justify-content:center;font-size:1.05rem;border:1px solid var(--line);border-radius:50%;transition:background .2s,border-color .2s}.icon-button:hover{background:var(--surface);border-color:var(--accent)}.language-quick{font-size:.78rem;font-weight:800;min-width:2.5rem;min-height:2.65rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:2.1rem;background:var(--button);color:var(--button-text);font-weight:600;font-size:.88rem;min-height:3.2rem;padding:.8rem 1.45rem;border:1px solid transparent;position:relative;transition:transform .25s,filter .25s}.button:hover{filter:brightness(1.12);transform:translateY(-2px)}.button span:last-child:not(:first-child){font-size:1.2rem}.button.small{min-height:2.65rem;padding:.45rem 1rem;font-size:.8rem;gap:1rem}.button.outline{background:none;color:var(--text);border-color:var(--line)}.button.outline:hover{border-color:var(--accent)}.menu-button{display:none}.text-link{font-size:.9rem;border-bottom:1px solid currentColor;padding-bottom:.25rem}.text-link:hover{color:var(--accent)}
.hero{position:relative;isolation:isolate;min-height:clamp(720px,calc(100svh - 5.6rem),950px);padding:5.3rem var(--space) 6rem;background:#101011;color:#f4f3f0;overflow:hidden}.hero-media{position:absolute;inset:0 0 0 36%;z-index:-2;overflow:hidden;background:#171719}.hero-media img,.hero-media video{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 37%;filter:saturate(.55);opacity:.84}.hero-media:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#101011 0%,rgba(16,16,17,.72) 13%,rgba(16,16,17,.05) 70%),linear-gradient(0deg,#101011 0%,transparent 35%,rgba(16,16,17,.15) 100%);z-index:1}.hero-content{max-width:65rem;position:relative;z-index:2}.eyebrow{font-size:.72rem;letter-spacing:.18em;font-weight:600;display:flex;align-items:center;gap:1rem;line-height:1.55}.index{color:var(--accent)}.hero-intro{color:#ddd9e4;margin-bottom:2.2rem}.line{display:inline-block;width:2.5rem;height:1px;background:#b698ff}h1{font-size:clamp(4.2rem,8.6vw,8rem);line-height:.99;max-width:9.5em;letter-spacing:-.064em}.hero-line{display:block}.hero-last{display:flex;align-items:center;gap:2rem}.asterisk{font-weight:400;display:inline-block;color:#ac8fff;font-size:.67em;animation:starTurn 22s linear infinite}.hero-description{font-size:1rem;max-width:27rem;margin:2rem 0;color:#dbd7df}.hero-buttons{display:flex;align-items:center;gap:2rem}.hero .button{background:#ab8cff;color:#181126}.hero-bottom{position:absolute;bottom:1.6rem;left:var(--space);right:var(--space);display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid #55515e;padding-top:1.2rem}.scroll-link{font-size:.66rem;letter-spacing:.14em;display:flex;gap:1.2rem;align-items:center}.scroll-link>span:first-child{font-size:1.35rem;animation:scrollNudge 2.5s ease-in-out infinite}.film-actions{display:flex;align-items:center;gap:1rem}.film-link{display:flex;align-items:center;gap:.8rem;font-size:.75rem;text-align:left;color:#f4f3f0;padding:0;min-height:2.65rem}.play-icon{display:grid;place-items:center;width:2.4rem;height:2.4rem;border:1px solid #aaa1b9;border-radius:50%;font-size:1.2rem}.video-toggle{border-color:#8c8499;color:#f4f3f0}.hero-side-note{position:absolute;right:.6rem;top:35%;writing-mode:vertical-rl;font-size:.57rem;letter-spacing:.24em;color:#d0c9d6}.discipline-strip{display:flex;justify-content:space-between;align-items:center;gap:1.3rem;padding:1.6rem var(--space);border-bottom:1px solid var(--line);font-size:clamp(.9rem,2vw,1.6rem);font-weight:600;letter-spacing:-.03em}.discipline-strip>span:nth-child(even){color:var(--accent);font-weight:400}
.section{padding:6.8rem var(--space);max-width:1720px;margin:auto}.section-heading{margin-bottom:2.8rem}.section-heading>.eyebrow{margin-bottom:1.6rem}.heading-row{display:flex;align-items:flex-end;justify-content:space-between;gap:3rem}.section-intro{max-width:23rem;font-size:.95rem;color:var(--muted)}.filter-bar{display:flex;flex-wrap:wrap;gap:.45rem;border-bottom:1px solid var(--line);padding-bottom:1.2rem}.filter{min-height:2.6rem;padding:.4rem 1rem;font-size:.82rem;border:1px solid transparent;border-radius:2rem}.filter:hover{border-color:var(--line)}.filter.active{background:var(--text);color:var(--bg)}.gallery-meta{display:flex;justify-content:space-between;gap:1rem;color:var(--muted);font-size:.76rem;padding:1rem 0 1.5rem;min-height:4rem}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem 1.25rem}.work-card{min-width:0}.work-card:first-child{grid-column:span 2;grid-row:span 2}.art-button{width:100%;height:100%;display:flex;flex-direction:column;text-align:left;padding:0}.art-image{width:100%;aspect-ratio:4/4.5;overflow:hidden;background:var(--surface);position:relative;flex:1}.work-card:first-child .art-image{aspect-ratio:4/5.5}.art-image img{width:100%;height:100%;object-fit:cover;transition:transform .85s var(--ease);min-height:0}.art-button:hover img{transform:scale(1.035)}.art-image:after{content:'↗';position:absolute;right:1rem;bottom:1rem;background:var(--bg);color:var(--text);border-radius:50%;width:2.5rem;height:2.5rem;display:grid;place-items:center;font-size:1.3rem;opacity:0;transform:translateY(8px);transition:opacity .25s,transform .25s}.art-button:hover .art-image:after,.art-button:focus-visible .art-image:after{opacity:1;transform:translateY(0)}.art-caption{display:flex;align-items:flex-start;gap:.8rem;justify-content:space-between;width:100%;padding:.75rem 0 0}.art-caption h3{font-size:.88rem;font-weight:600;line-height:1.5;letter-spacing:0}.art-caption p{font-size:.72rem;color:var(--muted);margin-top:.2rem}.art-caption>span{font-size:.7rem;color:var(--muted);padding-top:.2rem}.gallery-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:2.5rem;gap:1rem}.muted{color:var(--muted);font-size:.83rem}.noscript-gallery{display:flex;gap:1rem}.noscript-gallery img{width:30%;object-fit:contain}
.artist-section{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center;border-top:1px solid var(--line)}.artist-portrait{position:relative;align-self:start}.artist-portrait>img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center 25%;filter:grayscale(1)}.portrait-caption{display:flex;justify-content:space-between;gap:1rem;padding-top:1rem;font-size:.64rem;letter-spacing:.12em;color:var(--muted)}.artist-copy>.eyebrow{margin-bottom:1.5rem}.artist-copy h2{margin-bottom:1.8rem}.artist-copy>p:not(.eyebrow){color:var(--muted);margin-bottom:1.2rem;font-size:.94rem}.artist-copy>p.lead,.lead{font-size:1.2rem;color:var(--text)}.artist-signature{font-family:Georgia,serif;font-size:3.3rem;font-style:italic;color:var(--accent);letter-spacing:-.07em;line-height:1;margin:1.6rem 0 2rem}.artist-details{display:flex;gap:2rem;border-top:1px solid var(--line);padding-top:1.3rem;margin:1rem 0 2rem}.artist-details>div{display:flex;flex-direction:column;gap:.4rem;font-size:.85rem}.artist-details .eyebrow{font-size:.61rem;color:var(--muted)}.arrow-link{display:inline-flex;gap:2rem}.statement-section{padding:5rem var(--space);background:var(--surface);text-align:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.statement-section>.eyebrow{justify-content:center;color:var(--accent)}blockquote{font-size:clamp(1.7rem,3.6vw,3.3rem);line-height:1.25;letter-spacing:-.045em;max-width:30ch;font-weight:600;margin:2rem auto}.statement-credit{font-size:.83rem;color:var(--muted)}.process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6rem}.process-card{position:relative}.process-image{aspect-ratio:4/4.5;background:var(--surface);overflow:hidden;margin-bottom:1.6rem}.process-image img{height:100%;width:100%;object-fit:cover;transition:transform .8s var(--ease)}.process-card:hover img{transform:scale(1.04)}.process-number{display:block;font-size:.78rem;color:var(--accent);border-top:1px solid var(--line);padding-top:1.1rem;margin-bottom:.6rem}.process-card h3{margin-bottom:.9rem;font-size:1.4rem}.process-card p{font-size:.88rem;color:var(--muted)}.faq-section{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.3fr;gap:4rem}.faq-heading>.eyebrow{margin-bottom:1.8rem}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}summary{cursor:pointer;list-style:none;font-size:1rem;font-weight:600;padding:1.5rem 2rem 1.5rem 0;position:relative}summary::-webkit-details-marker{display:none}summary:after{content:'+';font-size:1.4rem;position:absolute;right:.25rem;top:1.15rem;color:var(--accent)}details[open] summary:after{content:'−'}.faq-list p{font-size:.91rem;color:var(--muted);padding-bottom:1.5rem}
.contact-section{border-top:1px solid var(--line);display:grid;grid-template-columns:1.1fr 1fr;gap:7vw;background:var(--surface);max-width:none}.contact-copy>.eyebrow{margin-bottom:1.6rem}.contact-copy h2{font-size:clamp(3rem,6.1vw,5.5rem);margin-bottom:1.8rem}.contact-copy .lead{max-width:25rem;color:var(--muted);font-size:1rem}.contact-links{margin-top:2.5rem;display:flex;flex-direction:column;gap:1rem}.contact-links a{font-size:.86rem;display:flex;justify-content:space-between;gap:1rem;max-width:24rem;border-bottom:1px solid var(--line);padding-bottom:.7rem;overflow-wrap:anywhere}.contact-links a:hover{color:var(--accent)}.enquiry-form h3{margin-bottom:1.5rem}.enquiry-form label{display:block;font-size:.82rem;margin:1.1rem 0 .4rem}.enquiry-form input,.enquiry-form textarea,.enquiry-form select{width:100%;min-height:3rem;border:1px solid var(--line);background:var(--bg);padding:.7rem .85rem;color:var(--text);border-radius:0;font-size:1rem}.enquiry-form textarea{resize:vertical}.form-note{font-size:.73rem;color:var(--muted);margin:1rem 0 1.3rem}.enquiry-form>.button{width:100%;justify-content:space-between}.form-status{font-size:.8rem;margin-top:1rem;overflow-wrap:anywhere}.site-footer{padding:3rem var(--space) 1.5rem}.footer-wordmark{font-size:clamp(2rem,9.5vw,9rem);font-weight:800;line-height:1.2;letter-spacing:-.05em;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding-bottom:2.5rem}.footer-wordmark span{color:var(--accent);font-size:.65em}.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1.3rem;align-items:center;color:var(--muted);font-size:.67rem;padding-top:1.4rem}.footer-bottom a:hover{color:var(--accent)}.text-button{font-size:inherit;text-decoration:underline;text-underline-offset:.25rem;padding:.5rem 0;min-height:2.5rem}
/* Native dialogs retain focus, support Escape and prevent background interaction. */
dialog{border:1px solid var(--line);background:var(--bg);color:var(--text);padding:2rem;max-height:90svh;width:min(94vw,34rem);margin:auto;overflow:auto;box-shadow:0 30px 120px #0008}dialog::backdrop{background:#000b;backdrop-filter:blur(8px)}.dialog-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}.dialog-heading h2{font-size:1.8rem;letter-spacing:-.04em;line-height:1.15}.close-button{width:2.6rem;min-width:2.6rem;height:2.6rem;font-size:1.8rem;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;line-height:1}.close-button:hover{color:var(--accent);border-color:var(--accent)}fieldset{border:0;padding:0;margin:1.7rem 0}legend{font-size:.88rem;margin-bottom:.6rem}.segmented{display:flex;gap:.4rem}.segmented button{flex:1;min-height:2.8rem;font-size:.83rem;border:1px solid var(--line);padding:.5rem}.segmented button[aria-pressed=true]{background:var(--button);border-color:var(--button);color:var(--button-text)}.motion-label{display:flex;align-items:center;justify-content:space-between;font-size:.9rem;gap:1rem;margin:1.8rem 0}.motion-label input{accent-color:var(--accent);width:1.5rem;height:1.5rem}.settings-dialog>.text-button{font-size:.8rem;margin-top:1rem}.menu-dialog{width:min(95vw,36rem)}.menu-dialog nav{display:flex;flex-direction:column;gap:1rem;margin:2rem 0}.menu-dialog nav a{font-size:2.3rem;font-weight:800;letter-spacing:-.04em}.menu-dialog>p{color:var(--muted);font-size:.9rem}.lightbox{width:min(96vw,75rem);padding:1.5rem 2rem;background:#101011;color:#f4f3f0}.lightbox>.close-button{position:absolute;right:1rem;top:1rem;background:#101011;z-index:2}.lightbox figure{margin:0}.lightbox figure>img{height:65svh;max-height:900px;width:100%;object-fit:contain}.lightbox figcaption{display:flex;justify-content:space-between;gap:1rem;font-size:.88rem;margin:1rem 0}.lightbox-controls{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #444;padding-top:1rem;gap:1rem}.lightbox-controls>span{font-size:.73rem;color:#bbb}.lightbox .icon-button{border-color:#555;background:#101011;color:#fff}.film-dialog{width:min(94vw,34rem)}.film-dialog video{display:block;width:100%;height:min(65svh,650px);background:#000;object-fit:contain}.film-dialog p{font-size:.78rem;color:var(--muted);margin:1rem 0}.film-dialog .text-link{font-size:.8rem}
/* Progressive animation: content is visible even when JavaScript is unavailable. */
.motion-ready .reveal{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.motion-ready .reveal.is-visible{opacity:1;transform:none}.hero-line{animation:heroIn 1s var(--ease) both}.hero-line:nth-child(2){animation-delay:.1s}.hero-line:nth-child(3){animation-delay:.2s}.hero-intro,.hero-description,.hero-buttons{animation:fadeIn 1.3s .25s both}.work-card{animation:cardIn .55s var(--ease) both}.work-card:nth-child(2){animation-delay:.06s}.work-card:nth-child(3){animation-delay:.12s}@keyframes heroIn{from{opacity:0;transform:translateY(35px)}to{opacity:1;transform:none}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes cardIn{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}@keyframes starTurn{to{transform:rotate(360deg)}}@keyframes scrollNudge{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}
:root[data-motion=reduced]{scroll-behavior:auto}:root[data-motion=reduced] *, :root[data-motion=reduced] *:before,:root[data-motion=reduced] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}:root[data-motion=reduced] .reveal{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-ready .reveal{opacity:1;transform:none}}
@media(min-width:1600px){.hero{padding-top:6rem}.hero-media{left:42%}.hero-media img,.hero-media video{object-position:center 32%}}
@media(max-width:1100px){.desktop-nav{gap:1.1rem}.header-actions{gap:.3rem}.wordmark{font-size:.82rem}.hero{min-height:750px}.artist-section{gap:3rem}.heading-row{gap:2rem}.section{padding-top:5rem;padding-bottom:5rem}.faq-section{gap:2rem}.hero-media{left:30%}}
@media(max-width:900px){.desktop-nav{display:none}.menu-button{display:inline-flex}.hero{min-height:760px}.hero-media{left:15%}.hero-media:after{background:linear-gradient(90deg,#101011 0%,#101011a8 40%,#10101122 100%),linear-gradient(0deg,#101011 0%,transparent 40%)}h1{font-size:clamp(4rem,10vw,6rem)}.heading-row{display:block}.section-intro{max-width:34rem;margin-top:1.4rem}.artist-section{grid-template-columns:1fr 1.1fr;gap:2rem}.gallery{gap:1.3rem .8rem}.contact-section{gap:2rem}.faq-section{grid-template-columns:1fr}.faq-heading h2 br{display:none}.process-grid{gap:1rem}.hero-side-note{display:none}}
@media(max-width:650px){:root{--space:1.15rem;scroll-padding-top:5rem}.site-header{height:4.7rem;gap:.35rem}.wordmark{font-size:.77rem;letter-spacing:.15em}.wordmark span{font-size:.53rem;letter-spacing:.2em;margin-top:.35rem}.header-enquire{display:none}.header-actions{gap:.22rem}.icon-button{width:2.45rem;min-width:2.45rem;height:2.45rem}.language-quick{min-width:2rem;font-size:.75rem}.hero{min-height:calc(100svh - 4.7rem);padding:15rem var(--space) 8.8rem;display:flex;align-items:flex-end}.hero-media{inset:0}.hero-media video,.hero-media img{object-position:center 22%;height:76%;filter:saturate(.55);opacity:.9}.hero-media:after{background:linear-gradient(0deg,#101011 0%,#101011 20%,#101011c2 42%,#10101100 88%),linear-gradient(90deg,#10101130,transparent);}.hero-content{width:100%}.hero-intro{margin-bottom:1.1rem;font-size:.65rem}h1{font-size:clamp(3.35rem,14vw,5rem);max-width:9em;line-height:1.01}.hero-line:nth-child(2){display:inline}.hero-last{display:inline-flex;gap:.6rem;margin-left:.15em}.hero-last .asterisk{font-size:.5em;align-self:center}.hero-description{font-size:.86rem;margin:1.2rem 0 1.5rem;max-width:20rem}.hero-buttons{gap:1.2rem;flex-wrap:wrap}.hero-buttons .button{padding:.7rem 1rem;gap:.8rem;font-size:.79rem}.hero-buttons .text-link{font-size:.78rem}.hero-bottom{bottom:1.2rem;flex-wrap:wrap;padding-top:.8rem;gap:.5rem}.film-actions{width:100%;justify-content:space-between}.film-link{font-size:.72rem}.scroll-link{display:none}.hero .video-toggle{width:2.35rem;min-width:2.35rem;height:2.35rem}.discipline-strip{padding:1.1rem var(--space);gap:.6rem;font-size:.83rem;flex-wrap:wrap;justify-content:center}.discipline-strip>span:last-child,.discipline-strip>span:nth-last-child(2){display:none}.section{padding-top:3.8rem;padding-bottom:3.8rem}h2{font-size:2.6rem}.eyebrow{font-size:.65rem;gap:.75rem}.section-heading{margin-bottom:1.8rem}.section-heading>.eyebrow{margin-bottom:1.2rem}.section-intro{font-size:.88rem}.filter-bar{gap:.2rem;padding-bottom:.8rem}.filter{font-size:.72rem;min-height:2.5rem;padding:.4rem .75rem}.gallery-meta{font-size:.72rem;gap:.6rem;align-items:flex-start}.gallery-meta>p:first-child{max-width:70%}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem .75rem}.work-card:first-child{grid-column:span 2;grid-row:auto}.work-card:first-child .art-image{aspect-ratio:4/4.5}.art-image{aspect-ratio:3/4}.art-caption{gap:.5rem}.art-caption h3{font-size:.8rem}.art-caption p{font-size:.68rem}.art-caption>span{display:none}.art-image:after{opacity:1;transform:none;width:2rem;height:2rem;right:.6rem;bottom:.6rem}.gallery-bottom{flex-direction:column;align-items:stretch;margin-top:1.8rem;gap:1.2rem}.gallery-bottom .muted{text-align:center}.artist-section{display:flex;flex-direction:column;gap:2.7rem}.artist-portrait{width:100%;max-width:28rem;margin:auto}.artist-copy h2{margin-bottom:1.4rem}.artist-copy>p:not(.eyebrow){font-size:.9rem}.artist-details{gap:2rem}.portrait-caption{font-size:.58rem}.statement-section{padding:3.5rem var(--space)}blockquote{font-size:1.9rem}.process-grid{grid-template-columns:1fr;gap:2.7rem}.process-image{aspect-ratio:4/3.8;margin-bottom:1rem}.process-image img{object-position:center 35%}.process-card h3{font-size:1.5rem}.process-card p{max-width:35rem}.faq-section{gap:2rem}.faq-heading h2 br{display:block}summary{font-size:.9rem}.contact-section{grid-template-columns:1fr;gap:3.2rem}.contact-copy h2{font-size:3.1rem}.contact-copy .lead{font-size:.94rem}.contact-links{margin-top:1.7rem}.enquiry-form input,.enquiry-form select,.enquiry-form textarea{font-size:1rem}.footer-wordmark{font-size:10.6vw;padding-bottom:1.8rem}.site-footer{padding-top:2rem}.footer-bottom{font-size:.7rem;display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.footer-bottom>span:nth-child(3){grid-column:span 2;order:5}.footer-bottom>button{text-align:left}.footer-bottom>a:last-child{text-align:right}.lightbox{padding:3.7rem 1rem 1rem}.lightbox figure>img{height:57svh}.lightbox figcaption{font-size:.77rem}.lightbox-controls>span{font-size:.66rem;text-align:center}dialog{padding:1.4rem}.dialog-heading h2{font-size:1.5rem}.segmented button{font-size:.78rem}.film-dialog video{height:57svh}}
@media(max-width:370px){.wordmark{font-size:.68rem}.wordmark span{font-size:.48rem}.header-actions{gap:0}.icon-button{width:2.15rem;min-width:2.15rem;height:2.45rem}.hero-buttons{gap:.85rem}.hero-buttons .text-link{font-size:.73rem}.hero{padding-top:13rem}.hero-description{max-width:18rem}}
@media(max-width:650px){:root[data-text=large] .site-header{flex-wrap:wrap;height:auto;min-height:5.4rem;padding-top:.7rem;padding-bottom:.7rem}:root[data-text=large] .wordmark span{display:none}:root[data-text=large] h1{font-size:3.2rem}:root[data-text=large] .hero{padding-top:13rem}:root[data-text=large] .gallery{grid-template-columns:1fr}:root[data-text=large] .work-card:first-child{grid-column:auto}:root[data-text=large] .art-image{aspect-ratio:4/4.5}:root[data-text=large] .artist-details{flex-direction:column;gap:1rem}:root[data-text=large] .footer-bottom{grid-template-columns:1fr}:root[data-text=large] .footer-bottom>span:nth-child(3){grid-column:auto}:root[data-text=large] .footer-bottom>a:last-child{text-align:left}}
@media print{.site-header,.hero-media video,.hero-bottom,.header-actions,.filter-bar,.gallery-bottom,.enquiry-form,dialog{display:none!important}.hero{min-height:0;padding:2rem;background:#fff;color:#000}.hero-media{display:none}.hero-line{animation:none}.section{padding:2rem 0}.reveal{opacity:1!important;transform:none!important}body{background:#fff;color:#000}}
/* Accommodate longer Maltese words and enlarged browser text without clipping. */
h1,h2,h3{overflow-wrap:anywhere}.hero:lang(mt) h1{font-size:clamp(3.5rem,7.5vw,7rem)}
@media(max-width:650px){.hero:lang(mt) h1{font-size:clamp(2.45rem,11.6vw,4rem)}.hero:lang(mt) .hero-line:nth-child(2){display:block}.hero:lang(mt) .hero-last{margin-left:0}:root[data-text=large] .hero:lang(mt) h1{font-size:clamp(2.15rem,12vw,3rem)}}
@media(max-width:500px){.site-header{flex-wrap:wrap;height:auto;min-height:4.7rem;padding-top:.65rem;padding-bottom:.65rem}.wordmark{max-width:100%}}
/* Refined controls: locally bundled Lucide SVGs never render as platform emoji. */
.icon{display:inline-block;width:1.2rem;height:1.2rem;flex-shrink:0;vertical-align:middle;pointer-events:none}
.icon-button .icon,.close-button .icon{width:1.25rem;height:1.25rem}.play-icon .icon{width:1.05rem;height:1.05rem}.button .icon{width:1.1rem;height:1.1rem}.close-button{font-size:1rem}
.art-image:after{content:none}.art-zoom{position:absolute;right:1rem;bottom:1rem;width:2.6rem;height:2.6rem;display:grid;place-items:center;border:1px solid #ffffff50;border-radius:50%;color:#fff;background:#101011c9;backdrop-filter:blur(12px);opacity:0;transform:translateY(8px);transition:opacity .25s,transform .25s,background .25s}
.art-button:hover .art-zoom,.art-button:focus-visible .art-zoom{opacity:1;transform:none}.art-button:hover .art-zoom{background:#29252fdc}
/* Keep the movie opaque: the fallback still must never bleed through moving frames. */
.hero-media img,.hero-media video{opacity:1}.hero-media video{z-index:0}.hero-media .hero-poster{z-index:0}.hero-media.video-visible .hero-poster{visibility:hidden}.hero-media:after{z-index:1}
.artist-signature{font-family:Manrope,Arial,sans-serif;font-size:clamp(1.2rem,2.3vw,2rem);font-style:normal;font-weight:800;letter-spacing:.2em;line-height:1.4;color:var(--text);white-space:normal}
.discipline-divider{height:1px;width:1.6rem;background:var(--line);flex-shrink:0}.discipline-strip>span:nth-child(even){color:inherit}.footer-wordmark{justify-content:flex-start}
.contact-section{display:block}.contact-copy{max-width:1200px;margin:auto;display:grid;grid-template-columns:1fr 1fr;column-gap:6vw;align-items:start}.contact-copy>.eyebrow,.contact-copy>h2,.contact-copy>.lead{grid-column:1}.contact-copy>.contact-links{grid-column:2;grid-row:2 / span 2;margin-top:.7rem;align-self:center}.contact-links a{max-width:none;min-height:3rem;align-items:center;font-size:1rem}.contact-links{gap:1.4rem}
.back-to-top{position:fixed;bottom:max(1.2rem,env(safe-area-inset-bottom));right:1.2rem;z-index:35;display:flex;align-items:center;gap:.6rem;padding:.85rem 1.1rem;min-height:48px;border:1px solid var(--line);border-radius:3rem;background:var(--header);color:var(--text);box-shadow:0 6px 28px #0003;backdrop-filter:blur(12px);font-size:.82rem}.back-to-top:hover{border-color:var(--accent);color:var(--accent)}
.cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.5rem var(--space) max(1.5rem,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--bg);box-shadow:0 -10px 55px #0005;max-height:75svh;overflow:auto}.cookie-copy{max-width:48rem}.cookie-copy h2{font-size:1.35rem;letter-spacing:-.03em;margin-bottom:.65rem}.cookie-copy p{font-size:max(.85rem,14px);line-height:1.65;color:var(--muted)}.cookie-actions{display:flex;flex-direction:column;gap:.7rem;min-width:15rem}.cookie-actions .button{font-size:max(.82rem,14px);min-height:48px;width:100%;background:var(--surface);color:var(--text);border:1px solid var(--line)}.cookie-actions .button:hover{border-color:var(--accent)}.cookie-status:empty{display:none}.cookie-status{margin-top:.5rem}body:has(dialog[open]) .back-to-top{visibility:hidden}
summary:after{content:'';width:1.1rem;height:1.1rem;background:linear-gradient(var(--accent),var(--accent)) center/100% 2px no-repeat,linear-gradient(var(--accent),var(--accent)) center/2px 100% no-repeat;top:1.55rem;transition:transform .2s}details[open] summary:after{content:'';transform:rotate(45deg)}
@media(hover:none){.art-zoom{opacity:1;transform:none}}
@media(max-width:900px){.cookie-banner{flex-direction:column;align-items:stretch;gap:1rem}.cookie-actions{flex-direction:row;min-width:0}.cookie-actions .button{flex:1}.contact-copy{column-gap:2rem}}
@media(max-width:650px){.art-zoom{width:2.4rem;height:2.4rem;right:.7rem;bottom:.7rem}.contact-copy{display:block}.contact-copy>.contact-links{margin-top:2rem}.back-to-top{right:.85rem;padding:.8rem;bottom:max(.85rem,env(safe-area-inset-bottom))}.back-to-top>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.cookie-banner{padding:1.2rem 1.1rem max(1.2rem,env(safe-area-inset-bottom))}.cookie-actions{flex-wrap:wrap}.cookie-actions .button{flex:1 1 10rem}.cookie-copy h2{font-size:1.2rem}.footer-bottom>button{text-align:left}.artist-signature{font-size:1.35rem}}
/* Three-second tattoo atelier introduction; duration is never tied to downloads. */
.intro-screen{display:none}.intro-active{overflow:hidden}.intro-active .intro-screen{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--bg);color:var(--text);animation:introExit .3s 2.7s ease both}.intro-active #site-content{pointer-events:none}.intro-center{width:min(76vw,35rem);text-align:center}.intro-eyebrow{color:var(--accent);font-size:max(.72rem,12px);letter-spacing:.28em;margin-bottom:2rem}.intro-brand{font-family:Manrope,Arial,sans-serif;font-weight:800;font-size:clamp(2.5rem,9vw,6.8rem);line-height:1.05;letter-spacing:.14em;overflow:hidden;animation:introName 1.55s .15s cubic-bezier(.22,.7,.2,1) both}.intro-brand span{display:block;letter-spacing:.33em;padding-left:.19em}.intro-stroke{position:relative;height:2rem;width:72%;margin:2.6rem auto 1.3rem;border-bottom:1px solid var(--line)}.intro-ink{position:absolute;bottom:-1px;left:0;height:2px;width:100%;background:var(--accent);transform-origin:left;animation:introLine 2.3s .15s cubic-bezier(.35,.2,.2,1) both}.intro-pen{position:absolute;bottom:0;width:1.7rem;height:1.7rem;color:var(--accent);animation:introNeedle 2.3s .15s cubic-bezier(.35,.2,.2,1) both}.intro-caption{font-size:max(.88rem,14px);color:var(--muted);letter-spacing:.02em;animation:fadeIn .8s .6s both}.intro-bottom{position:absolute;bottom:max(2rem,env(safe-area-inset-bottom));left:var(--space);right:var(--space);display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:max(.7rem,12px);letter-spacing:.12em}.intro-bottom>span{color:var(--muted)}#intro-skip{min-height:44px;padding:.55rem .85rem;border:1px solid var(--line);font-size:max(.8rem,14px);letter-spacing:0}#intro-skip:hover{border-color:var(--accent);color:var(--accent)}
@keyframes introName{from{opacity:0;clip-path:inset(0 100% 0 0);transform:translateY(12px)}to{opacity:1;clip-path:inset(0);transform:none}}@keyframes introLine{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes introNeedle{0%{left:0;opacity:0;transform:translate(-50%,0) rotate(-15deg)}10%{opacity:1}90%{opacity:1}100%{left:100%;opacity:0;transform:translate(-50%,0) rotate(-15deg)}}@keyframes introExit{to{opacity:0;visibility:hidden}}
:root[data-motion=reduced] .intro-brand{clip-path:none;opacity:1;transform:none}:root[data-motion=reduced] .intro-pen{display:none}:root[data-motion=reduced] .intro-ink{transform:scaleX(1)}
@media(prefers-reduced-motion:reduce){.intro-brand{clip-path:none;opacity:1;transform:none}.intro-pen{display:none}.intro-ink{transform:scaleX(1)}}
@media(max-width:500px){.intro-center{width:84vw}.intro-brand{font-size:clamp(2.4rem,11vw,4rem)}.intro-eyebrow{letter-spacing:.17em}.intro-caption{max-width:22ch;margin:auto}.intro-bottom{flex-wrap:wrap;justify-content:center;bottom:max(1.2rem,env(safe-area-inset-bottom))}.intro-bottom>span{width:100%;text-align:center}}

.makeup-collection{padding:clamp(2rem,6vw,5rem);border:1px solid var(--border);max-width:60rem}.makeup-collection h3{font-size:clamp(2rem,5vw,4rem);line-height:1.1;margin:1rem 0}.makeup-collection p{max-width:38rem;margin-bottom:2rem}.not-found main{min-height:100svh;max-width:65rem;margin:auto;padding:clamp(1.5rem,6vw,5rem)}.not-found .error-number{font-size:clamp(6rem,23vw,14rem);font-weight:800;line-height:1;margin:2rem 0;color:var(--accent)}.not-found h1{font-size:clamp(2.5rem,7vw,5rem);line-height:1.05;max-width:14ch;margin:1rem 0}.not-found #error-description{max-width:38rem;margin:1.5rem 0 2rem}.not-found .text-link,.not-found .text-button{display:inline-block;margin:1rem}

.designer-credit{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}.ca-logo{width:66px;height:59px;object-fit:contain}.ca-light{display:none}:root[data-theme=light] .ca-dark{display:none}:root[data-theme=light] .ca-light{display:block}.process-image img{object-fit:cover}.process-card:last-child img{object-position:center 25%}.header-actions{flex-shrink:0}@media(max-width:420px){.wordmark span{font-size:.5rem;letter-spacing:.1em}.header-actions{gap:.3rem}.site-header{gap:.4rem}}

.icon-sprite{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}

/* Full portrait: retain both tools and the artist on every screen. */
.artist-portrait>img{aspect-ratio:1/1;object-fit:contain;object-position:center;filter:none}
