/* Colours and typography: edit these tokens to change the site's visual style. */
:root{--paper:#f2eee7;--ink:#242820;--muted:#63655d;--line:#c7c6bc;--accent:#8a302b;--serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;--sans:Manrope,Arial,sans-serif;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--header-offset,6rem)}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased}::selection{background:var(--accent);color:var(--paper)}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}p,h1,h2,h3{margin:0}main,.footer,.site-header{width:min(100% - 5rem,1440px);margin-inline:auto}.skip-link{position:fixed;z-index:100;left:1rem;top:-6rem;background:var(--ink);color:var(--paper);padding:.8rem 1.2rem}.skip-link:focus{top:1rem}.scroll-line{position:fixed;top:0;left:0;width:100%;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;z-index:50;pointer-events:none}.site-header{min-height:72px;display:flex;justify-content:flex-end;align-items:center;padding-block:.65rem;border-bottom:1px solid var(--line)}nav{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.2rem 2.4rem;min-width:0}nav a{font-size:.875rem;position:relative;padding:.65rem .2rem;min-height:44px;display:inline-flex;align-items:center}nav a:after{content:'';position:absolute;left:0;right:100%;bottom:.35rem;height:1px;background:var(--accent);transition:right .45s var(--ease)}nav a:hover:after,nav a:focus-visible:after,nav a[aria-current]:after{right:0}.eyebrow{font-family:var(--sans);font-size:.875rem;font-weight:500;letter-spacing:.065em;line-height:1.5}.hero{padding:2.1rem 0 2.9rem}.hero-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1.5rem;align-items:center}.hero h1{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:0 3.2%;font-family:var(--serif);font-weight:400;font-size:clamp(3.6rem,10.5vw,10.6rem);line-height:1.03;letter-spacing:-.052em;padding:0 0 .7rem;white-space:normal}.hero h1 .surname{font-style:normal;font-weight:400;letter-spacing:inherit}.hero-bottom{margin-top:1.15rem;font-size:.875rem;color:var(--muted)}.hero-role{font-size:1.125rem;color:var(--ink);line-height:1.5}.hero-bottom > p:last-child{text-align:right;margin-left:auto}.section{border-top:1px solid var(--line);padding:1.3rem 0 5.8rem;scroll-margin-top:1rem}.section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:2.2rem}.section-note{color:var(--muted);letter-spacing:0;font-weight:400}.records{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.8rem 1.55rem}.record{min-width:0}.record-cover{position:relative;display:block;aspect-ratio:1;background:#deded4;overflow:hidden;transition:box-shadow .65s var(--ease)}.record-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.3s var(--ease)}.record-cover:focus-visible{outline-offset:4px;overflow:visible}.record-cover:focus-visible img{transform:none}.cover-info{position:absolute;inset:0;background:rgba(15,19,13,.78);color:#fff;display:flex;flex-direction:column;justify-content:space-between;gap:1.5rem;padding:1.6rem;opacity:0;transition:opacity .65s var(--ease)}.cover-credit{font-size:1.125rem;line-height:1.45;max-width:80%;transform:translateY(8px);transition:transform .7s var(--ease)}.cover-action{font-size:.875rem;align-self:flex-start;padding-bottom:4px;border-bottom:1px solid rgba(255,255,255,.6);transform:translateY(5px);transition:transform .7s var(--ease)}.record-cover:focus-visible .cover-info{opacity:1}.record-cover:focus-visible .cover-credit{transform:none}.record-caption{overflow-wrap:break-word;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:.8rem;row-gap:.1rem;padding-top:.9rem}.record-caption h3{font-size:1rem;font-weight:500;line-height:1.45}.year{font-size:.8125rem;color:var(--muted);line-height:1.8}.record-caption p{grid-column:1/-1;font-size:.875rem;color:var(--muted);line-height:1.6}.record-caption .touch-credit{display:none;margin-top:.35rem;color:var(--ink);font-size:.875rem;line-height:1.5}.about-grid{display:block;max-width:46rem;margin-inline:auto;padding-top:.25rem}.about-copy{max-width:none}.about-copy p{font-size:1.0625rem;line-height:1.8;margin-bottom:1.35rem}.about-copy p:first-child{font-family:var(--serif);font-size:clamp(1.75rem,2.5vw,2.25rem);line-height:1.4;letter-spacing:-.01em}.about-copy p:last-child{margin-bottom:0}.contact{padding-bottom:3rem}.contact-copy{padding-top:.25rem}.contact-copy p{font-family:var(--serif);font-size:clamp(1.5rem,2.5vw,2rem);font-weight:400;line-height:1.5;max-width:46rem}.contact-link{display:inline-block;padding-block:.15rem;color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.14em;transition:color .2s}.contact-link:hover{color:var(--ink)}.footer{display:flex;justify-content:space-between;gap:1.5rem;align-items:center;border-top:1px solid var(--line);padding:1.25rem 0 1.5rem;font-size:.8125rem;color:var(--muted)}.footer a{font-size:.875rem;min-height:44px;padding:.7rem .5rem;display:inline-flex;align-items:center}.footer a:hover{color:var(--accent)}/* A small rise and short row stagger keep the gallery calm while scrolling. */
.reveal{opacity:1;transform:none;transition:opacity .85s var(--ease),transform .85s var(--ease);transition-delay:var(--reveal-delay,0ms)}.reveal.is-pending{opacity:0;transform:translateY(14px)}.reveal:focus-within{opacity:1;transform:none;transition-delay:0ms}
.site-header{position:sticky;top:0;z-index:30;background:rgba(242,238,231,.96);transition:background .5s var(--ease),border-color .5s var(--ease)}
.site-header.is-scrolled{background:rgba(242,238,231,.92);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-color:rgba(36,40,32,.22)}
.hero h1{transform:translateY(var(--title-drift,0px))}
.motion-ready .hero h1 > span{animation:title-enter 1.15s var(--ease) both}
.motion-ready .hero h1 > .surname{animation:title-enter 1.25s var(--ease) .08s both}
@keyframes title-enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}

.record-cover:focus-visible .cover-action{transform:none}
.record-cover:focus-visible img{transform:none}

@media(min-width:106.25rem){.hero h1{font-size:11.25rem}}
@media(max-width:65.625rem){main,.footer,.site-header{width:calc(100% - 3rem)}.records{gap:2.4rem 1.25rem}.hero h1{font-size:10.8vw}.cover-info{padding:1.1rem}.cover-credit{font-size:1rem;max-width:100%}}
@media(max-width:47.5rem){main,.footer,.site-header{width:calc(100% - 2rem)}.site-header{min-height:64px}nav{flex:1;gap:.1rem 1.4rem}.hero{padding:1.5rem 0 2rem}.hero h1{display:block;white-space:normal;font-size:clamp(2.5rem,17vw,7.85rem);line-height:.97;letter-spacing:-.045em;padding-bottom:.7rem}.hero h1 span{display:block}.hero h1 .surname{display:block;text-align:right;margin-top:.2rem;line-height:1.03}.hero-bottom{margin-top:1.2rem;font-size:.875rem}.hero-role{font-size:1rem}.section{padding:1.05rem 0 3.5rem}.section-heading{margin-bottom:1.6rem}.section-heading .eyebrow{font-size:.875rem;min-width:0;overflow-wrap:anywhere}.work .section-note{font-size:.875rem;text-align:right}.records{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 1rem}.record-caption h3{font-size:1rem}.record-caption p{font-size:.875rem}.record-caption{padding-top:.65rem;column-gap:.4rem}.year{font-size:.75rem}.cover-info{padding:1rem}.cover-credit{font-size:.9375rem}.cover-action{font-size:.8125rem}.about-copy p:first-child{font-size:1.75rem}.footer{font-size:.75rem;flex-wrap:wrap;gap:.5rem 1.5rem}.footer span:last-child{flex-basis:100%}}
@media(max-width:25rem){nav{gap:.1rem .8rem}.work .section-note{max-width:135px;text-align:right}.records{gap:1.9rem .8rem}.record-caption h3{font-size:1rem}.record-caption p{font-size:.875rem}.year{display:none}.record-caption{grid-template-columns:1fr}}
@media(hover:none){.record-caption .touch-credit{display:block}.cover-info{display:none}.record-cover:active{outline:2px solid var(--accent);outline-offset:3px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero h1{transform:none!important}*,*:before,*:after{animation:none!important;transition:none!important}.reveal.is-pending{opacity:1;transform:none}.record-cover img{transform:none!important}.scroll-line{display:none}}
@media(max-height:500px){.site-header{position:relative;top:auto}}

/* Artwork stays square while modern browsers choose smaller image files. */
.record-cover picture{display:block;width:100%;height:100%}
.hero h1>span{min-width:0;max-width:100%;overflow-wrap:anywhere}
.record-caption h3,.about-copy p:first-child{text-wrap:balance}
.year{font-variant-numeric:tabular-nums}
@media(hover:hover){.record-cover:hover img{transform:scale(1.025)}.record-cover:hover{box-shadow:0 12px 26px -20px rgba(36,40,32,.48)}.record-cover:hover .cover-info{opacity:1}.record-cover:hover .cover-credit,.record-cover:hover .cover-action{transform:none}}
@media(max-width:24rem){.records{grid-template-columns:minmax(0,1fr);gap:2rem}.record-caption{grid-template-columns:minmax(0,1fr) auto;column-gap:.8rem;padding-top:.85rem}.year{display:block;font-size:.8125rem}.cover-info{padding:1.3rem}.cover-credit{font-size:1.125rem}}

@media print{.site-header,.scroll-line,.skip-link,.footer a{display:none}.hero{padding-top:0}.record-cover .cover-info{display:none}.record-caption .touch-credit{display:block}.records{grid-template-columns:repeat(3,1fr)}.reveal.is-pending{opacity:1;transform:none}body{background:white}.section{break-inside:avoid}.record{break-inside:avoid}}
