@font-face{font-family:'Dh Irlia';src:url('assets/dh-irlia-extra-light.otf') format('opentype');font-weight:400;font-display:swap}
@font-face{font-family:'HK Grotesk';src:url('assets/hk-grotesk-regular.woff2') format('woff2');font-weight:400;font-display:swap}
html[data-option="3"]{--paper:#eeece5;--ink:#23312c;--bone:#f2eee5;--header-height:94px;--display-font:'Dh Irlia',serif;--first-reveal:0;--second-reveal:0;--opening-opacity:1;--making-copy-opacity:0;--form-copy-opacity:0;--form-scale:1.12;overflow-x:clip;overflow-y:auto;scroll-behavior:smooth;scroll-padding-top:100px;font-synthesis:none}
*{box-sizing:border-box}
body{margin:0;height:auto;min-height:100svh;overflow:visible;background:var(--paper);color:var(--ink);font-family:'HK Grotesk',sans-serif;-webkit-font-smoothing:antialiased}
body.dialog-open{overflow:hidden}
button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}
a{color:inherit;text-decoration:none}
button:focus-visible,a:focus-visible{outline:2px solid currentColor;outline-offset:6px}
img{display:block;width:100%;height:100%;object-fit:cover}
figure,p,h1,h2,blockquote{margin:0}
em{font-style:normal}
[hidden]{display:none!important}
::selection{background:#b6877a;color:var(--bone)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;left:24px;top:-100px;z-index:100;padding:16px;background:var(--paper);color:var(--ink)}
.skip-link:focus{top:18px}
.eyebrow{font-size:10px;letter-spacing:.14em;text-transform:uppercase;line-height:1.5}
.site-header{position:fixed;top:0;left:0;width:100%;height:var(--header-height);padding:0 4.5%;display:flex;align-items:center;gap:28px;z-index:30;color:var(--bone);background:linear-gradient(#151b1866,transparent);transition:color .3s,background .3s}
.site-header.light{color:var(--ink);background:linear-gradient(#f3f0e7fc,#f3f0e7f2 78%,transparent)}
.artist-lockup{display:flex;align-items:center;gap:28px;min-width:0}
.wordmark{font:400 40px/1 var(--display-font);letter-spacing:-.04em}
html[data-option="3"] .wordmark{width:3.9em}
.option-switch{display:flex;gap:14px;font-size:10px;white-space:nowrap}
.option-switch a{display:flex;align-items:center;min-height:40px;border-bottom:1px solid transparent}
.option-switch a:hover,.option-switch a[aria-current=page]{border-color:currentColor}
.main-nav{display:flex;gap:24px;margin-left:auto;font-size:12px;white-space:nowrap}
.main-nav a{padding:12px 0;min-height:40px}
.main-nav a:hover{text-decoration:underline;text-underline-offset:6px}
.work-count{font-size:9px;margin-left:4px;opacity:.65}
/* Two successive pairs of image panels reveal the next full scene. */
.sequence{height:340svh;position:relative;background:var(--ink)}
.scene{position:fixed;inset:0;height:100svh;height:100dvh;overflow:hidden;color:var(--bone);isolation:isolate}
.scene.sequence-complete{position:absolute;inset:auto 0 0}
.scene-art,.form-layer,.making-layer{position:absolute;inset:0}
.form-layer{background:var(--ink)}
.form-photo{position:absolute;inset:calc(var(--header-height) + 10px) 13% 142px}
.form-photo img{object-fit:contain;transform:scale(var(--form-scale));transform-origin:center}
.form-copy{position:absolute;left:6%;bottom:190px;z-index:1;max-width:33%;opacity:var(--form-copy-opacity);transform:translateY(calc((1 - var(--form-copy-opacity)) * 18px))}
.form-copy h2{font:400 clamp(46px,5.6vw,96px)/1 var(--display-font);letter-spacing:-.045em;margin-top:16px}
.making-layer{z-index:2;pointer-events:none}
.study-panel,.texture-panel{position:absolute;top:0;bottom:0;width:50.1%;overflow:hidden;will-change:transform}
.study-panel{width:50%}
.study-left,.texture-left{left:0;transform:translateY(calc(var(--second-reveal) * 110%))}
.study-right,.texture-right{right:0;transform:translateY(calc(var(--second-reveal) * -110%))}
.making-photo{position:absolute;left:0;top:0;width:200%;height:100%;background:#d8d1c5}
.study-right .making-photo{left:-100%}
.making-photo img{object-position:50% 57%;transform:scale(calc(1.04 - var(--first-reveal) * .04))}
/* Direction D: one continuous paper fade, clipped into the two moving drawing panels. */
.making-photo:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(to right,transparent 35%,rgba(243,240,231,.70) 66%,rgba(243,240,231,.98)),linear-gradient(to bottom,transparent 76%,rgba(243,240,231,.90) 90%,rgba(243,240,231,.98))}
.making-copy{position:absolute;left:61.875%;right:6%;top:max(calc(var(--header-height) + 32px),22.4%);z-index:3;color:var(--ink);opacity:var(--making-copy-opacity);min-width:0}
.making-copy h2{font:400 clamp(46px,7.5vw,144px)/1.05 var(--display-font);letter-spacing:-.02em;margin-top:clamp(30px,4.8vh,44px);-webkit-text-stroke:.15px currentColor}
.making-copy h2 span,.making-copy h2 em{display:block;white-space:nowrap}
.texture-panel{z-index:4}
.texture-left{transform:translateY(calc(var(--first-reveal) * 110%));background:#8d6b5b}
.texture-right{transform:translateY(calc(var(--first-reveal) * -110%));background:#a19c8d}
.texture-panel img{filter:brightness(.67);transform:scale(calc(1.02 + var(--first-reveal) * .04));object-position:center}
.texture-right img{filter:brightness(.64)}
.texture-panel:after{content:'';position:absolute;inset:0;background:linear-gradient(#0001,transparent 30%,#14130d44)}
.opening-copy{position:absolute;z-index:5;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;opacity:var(--opening-opacity);transform:translateY(calc((1 - var(--opening-opacity)) * -45px));pointer-events:none;padding:100px 5% 140px}
.opening-copy .eyebrow{letter-spacing:.2em;margin-bottom:24px}
.opening-name{font:400 clamp(96px,17vw,310px)/1 var(--display-font);letter-spacing:-.04em;text-shadow:0 2px 25px #0002}
.opening-subtitle{font-size:clamp(16px,1.45vw,23px);letter-spacing:.025em;margin-top:24px}
.scene-event{position:absolute;left:6%;right:6%;bottom:92px;z-index:10;display:flex;justify-content:space-between;gap:24px;line-height:1.4}
.scene-event p{display:flex;flex-direction:column;gap:7px;min-width:0;max-width:calc(50% - 12px)}
.scene-event span{font-size:9px;letter-spacing:.13em}
.scene-event strong{font-size:12px;font-weight:400}
.scene-footer{position:absolute;left:6%;right:6%;bottom:24px;z-index:10;display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;gap:18px}
.stage-controls{display:flex;gap:22px;width:min(420px,100%);min-width:0;order:2}
.stage-controls button{position:relative;flex:1;min-width:0;text-align:left;padding:14px 0 16px;font-size:11px;line-height:1.25;opacity:.75;min-height:44px;white-space:nowrap}
.stage-controls button:hover,.stage-controls button[aria-current=step]{opacity:1}
.stage-number{font-size:9px;opacity:1;margin-right:9px}
.stage-track{position:absolute;bottom:0;left:0;right:0;height:1px;background:currentColor;opacity:.8}
.stage-track>span{position:absolute;inset:-1px 0 0;background:currentColor;transform:scaleX(var(--fill,0));transform-origin:left;height:2px}
.scroll-prompt{font-size:11px;line-height:1.4;padding:12px 6px;min-height:44px;display:inline-flex;gap:14px;align-items:center;justify-content:center;justify-self:center;text-align:center;white-space:nowrap}
.scroll-prompt span{font-size:20px;line-height:1}
.scene.is-form .scroll-prompt{display:none}
.scene.is-making{color:var(--ink)}
/* Process, photograph gallery and invitation remain ordinary page content. */
.process-section,.work-section{padding:120px 9% 100px;background:var(--paper);position:relative}
.section-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:8%;align-items:center}
.section-heading>.eyebrow{grid-column:1/-1;margin-bottom:28px}
.section-heading h2{font:400 clamp(48px,6.4vw,108px)/1.04 var(--display-font);letter-spacing:-.045em}
.section-intro{font-size:16px;line-height:1.65;max-width:360px}
.process-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.85fr);gap:12%;align-items:start;margin-top:70px}
.study-surface{margin-top:130px}
.image-button{position:relative;display:block;width:100%;padding:0;overflow:hidden;background:#d6d1c6}
.study-drawing .image-button{aspect-ratio:.88}
.study-surface .image-button{aspect-ratio:.64}
.image-button img{transition:transform .7s}
.image-button:hover img{transform:scale(1.035)}
.inspect-label{position:absolute;bottom:20px;left:20px;right:20px;display:flex;justify-content:space-between;gap:20px;padding-top:12px;border-top:1px solid #f2eee580;font-size:11px;color:var(--bone);text-shadow:0 1px 6px #000;z-index:1}
.image-button:after{content:'';position:absolute;inset:auto 0 0;height:100px;background:linear-gradient(transparent,#0006)}
.study figcaption,.work-card figcaption{display:flex;justify-content:space-between;gap:14px;font-size:11px;line-height:1.5;margin-top:16px}
.study figcaption span:last-child,.work-number{font-size:10px;opacity:.55}
.material-note{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8%;border-top:1px solid #23312c35;margin-top:85px;padding-top:32px}
.material-note>p:last-child{font:400 clamp(27px,2.8vw,42px)/1.25 var(--display-font);letter-spacing:-.02em}
.artist-reflection{font:400 clamp(34px,4.3vw,64px)/1.2 var(--display-font);letter-spacing:-.03em;max-width:850px;margin-top:90px}
.artist-reflection cite{display:block;font:400 10px/1.5 'HK Grotesk',sans-serif;text-transform:uppercase;letter-spacing:.15em;margin-top:20px}
.work-section{border-top:1px solid #23312c24}
.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 24px;margin-top:65px}
.work-card{width:100%;padding:0;text-align:left}
.work-card-media{aspect-ratio:540/650;overflow:hidden;background:#d6d1c6}
.work-card-media img{transition:transform .5s}
.work-card:hover img{transform:scale(1.03)}
.gallery-loading{grid-column:1/-1;padding:20px 0}
.paris-section{background:var(--ink);color:var(--bone);padding:115px 9%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:10%;align-items:center}
.paris-detail{height:440px;max-height:65svh;overflow:hidden}
.paris-copy{min-width:0}
.paris-copy h2{font:400 clamp(52px,6.5vw,110px)/1 var(--display-font);letter-spacing:-.045em;margin:30px 0}
.salon-name{font-size:18px;line-height:1.4}
.invite-details{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;border-top:1px solid #f2eee54a;padding-top:26px;margin-top:28px}
.invite-details>div>p:not(.eyebrow){font-size:13px;line-height:1.6;margin-top:10px}
.invite-details .invite-date{font-size:21px!important;line-height:1.3!important}
.invite-year{display:inline-block}
.invite-details .by-invitation{font-size:11px!important;opacity:.65}
.invitation-actions{display:flex;flex-wrap:wrap;gap:16px 30px;margin-top:28px}
.invitation-actions a{display:flex;align-items:center;gap:16px;min-height:44px;font-size:12px}
.invitation-actions a:hover{text-decoration:underline;text-underline-offset:5px}
.invitation-actions svg,.contact-link svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1}
.site-footer{padding:32px 4.5%;display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--paper)}
.site-footer .wordmark{font-size:32px}
.contact-link,.text-button{display:flex;align-items:center;gap:18px;font-size:12px;min-height:44px}
dialog{padding:0;border:0;color:var(--ink);background:var(--paper);max-width:none;max-height:none}
dialog::backdrop{background:#141b18cf;backdrop-filter:blur(6px)}
.detail-dialog{width:96vw;height:94svh;padding:65px 5% 28px;overflow:hidden}
.detail-dialog figure{height:100%;display:flex;flex-direction:column;gap:18px;align-items:center}
.detail-dialog img{min-height:0;object-fit:contain}
.detail-dialog figcaption{font-size:12px}
.dialog-close{position:absolute;top:14px;right:4%;display:flex;align-items:center;gap:20px;min-height:44px;font-size:12px}
.work-dialog{width:96vw;height:94svh;overflow:hidden}
.work-dialog[open]{display:grid;grid-template-rows:60px minmax(0,1fr) 60px}
.lightbox-header,.lightbox-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 24px;font-size:12px}
.lightbox-media{min-height:0;display:flex;align-items:center;justify-content:center;padding:20px}
.lightbox-media img,.lightbox-media video{width:100%;height:100%;object-fit:contain;max-height:100%;max-width:100%}
.lightbox-footer p{font-size:11px;text-align:center}
.arrow-button{padding:0;min-width:44px;min-height:44px;display:grid;place-items:center}
.arrow-button svg{width:25px;height:25px;stroke:currentColor;stroke-width:1;fill:none}
.close-button{display:flex;align-items:center;gap:16px;min-height:44px;font-size:12px}
.close-button span{font-size:24px}
.invitation-dialog{width:min(88vw,670px);height:calc(100svh - 40px);overflow:auto;background:#fff}
.invitation-dialog>img{height:auto}
.invitation-close{position:sticky;top:0;width:100%;justify-content:flex-end;padding:0 20px;background:#fff;border-bottom:1px solid #ddd;z-index:1}
.noscript-note{padding:30px;line-height:1.6}
@media(max-width:1100px){.artist-lockup{gap:20px}.option-switch{gap:12px}.main-nav{gap:18px;font-size:11px}.form-copy h2{font-size:5.8vw}.process-section,.work-section{padding:90px 7%}.paris-section{padding:90px 7%;gap:7%}}
@media(max-width:900px){
  html[data-option="3"]{--header-height:104px}
  .site-header{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;gap:0 10px;padding-top:6px;padding-bottom:6px}
  .artist-lockup{display:contents}
  .wordmark{grid-column:1;grid-row:1;font-size:31px}
  .main-nav{grid-column:2;grid-row:1;margin:0;font-size:11px;gap:18px}
  .main-nav a{padding:8px 0;min-height:36px}
  .option-switch{grid-column:1/-1;grid-row:2;justify-content:space-between;font-size:10px;gap:8px}
}
@media(min-width:701px) and (max-aspect-ratio:1/1){
  .form-photo{bottom:280px}
  .form-copy{bottom:175px;max-width:86%}
  .form-copy h2{font-size:clamp(38px,5.8vw,60px)}
}
@media(max-width:700px){
  html[data-option="3"]{--header-height:104px}
  .site-header{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;gap:0 10px;padding:6px 7%}
  .artist-lockup{display:contents}
  .wordmark{grid-column:1;grid-row:1;font-size:31px}
  .main-nav{grid-column:2;grid-row:1;margin:0;font-size:10px;gap:12px}
  .main-nav a{padding:8px 0;min-height:36px}
  .option-switch{grid-column:1/-1;grid-row:2;justify-content:space-between;font-size:10px;gap:8px}
  .opening-copy{padding:104px 7% 170px}
  .opening-name{font-size:22vw}
  .opening-copy .eyebrow{font-size:8px;margin-bottom:22px}
  .opening-subtitle{font-size:18px;margin-top:22px}
  .making-copy{left:43%;right:7%;top:max(calc(var(--header-height) + 34px),22.4%)}
  .making-copy h2{font-size:clamp(36px,11.5vw,76px);margin-top:24px}
  .making-copy .eyebrow,.form-copy .eyebrow{font-size:8px}
  .making-copy .eyebrow{letter-spacing:.1em}
  .making-photo:after{background:linear-gradient(to right,transparent 10%,rgba(243,240,231,.72) 48%,rgba(243,240,231,.98)),linear-gradient(to bottom,transparent 62%,rgba(243,240,231,.94) 80%,rgba(243,240,231,.98))}
  .making-photo img{object-position:47% 57%}
  .form-photo{inset:calc(var(--header-height) + 18px) 10% 235px}
  .form-copy{left:7%;bottom:175px;max-width:90%}
  .form-copy h2{font-size:38px;margin-top:10px}
  .scene-event{left:7%;right:7%;bottom:137px;gap:16px}
  .scene-event p{max-width:calc(50% - 8px)}
  .scene-event span{font-size:8px}
  .scene-event strong{font-size:10px;line-height:1.4}
  .scene-footer{left:7%;right:7%;bottom:22px;display:grid;grid-template-columns:1fr;gap:15px}
  .stage-controls{width:min(420px,100%);gap:18px}
  .stage-controls button{font-size:10px}
  .scroll-prompt{justify-self:center;padding:10px 6px;font-size:10px}
  .process-section,.work-section{padding:75px 7%}
  .section-heading{display:block}
  .section-heading>.eyebrow{margin-bottom:24px}
  .section-heading h2{font-size:14vw}
  .section-intro{font-size:14px;margin-top:25px}
  .process-grid{display:block;margin-top:45px}
  .study-drawing{width:87%}
  .study-surface{width:72%;margin:60px 0 0 auto}
  .study figcaption{flex-wrap:wrap;gap:4px}
  .material-note{display:block;margin-top:65px;padding-top:25px}
  .material-note>p:last-child{font-size:31px;margin-top:20px}
  .artist-reflection{font-size:37px;margin-top:60px}
  .work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 14px;margin-top:45px}
  .work-card figcaption{font-size:10px;flex-wrap:wrap;gap:4px}
  .paris-section{display:block;padding:75px 7%}
  .paris-detail{width:65%;height:250px}
  .paris-copy{margin-top:40px}
  .paris-copy h2{font-size:14vw;margin:28px 0}
  .salon-name{font-size:18px}
  .invite-details{gap:18px}
  .invite-details .invite-date{font-size:17px!important}
  .invite-details>div>p:not(.eyebrow){font-size:12px}
  .invitation-actions{gap:12px 24px}
  .site-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:28px 7%}
  .site-footer>.contact-link{grid-column:1/-1;grid-row:2}
  .site-footer>.text-button{font-size:10px;gap:10px}
  .work-dialog,.detail-dialog{width:100vw;height:100svh}
  .lightbox-header,.lightbox-footer{padding:0 16px}
  .lightbox-media{padding:12px}
  .invitation-dialog{width:100vw;height:100svh}
}
@media(max-height:600px) and (min-width:701px){html[data-option="3"]{--header-height:72px}.form-photo{inset:85px 13% 125px}.form-copy{bottom:157px}.form-copy h2{font-size:48px}.scene-event{bottom:83px}.scene-footer{bottom:18px}.making-copy{top:100px}.making-copy h2{font-size:clamp(36px,7.5vw,88px);margin-top:16px}}
@media(max-width:360px){html[data-option="3"] .site-header .wordmark{font-size:28px}html[data-option="3"] .site-header .main-nav{font-size:9px;gap:8px}}
@media(max-height:600px) and (max-width:700px){.form-photo{inset:115px 10% 220px}.form-copy{bottom:164px}.form-copy h2{font-size:32px}.opening-copy{padding-bottom:160px}.opening-subtitle{margin-top:14px}.making-copy{top:calc(var(--header-height) + 24px)}.making-copy h2{font-size:clamp(32px,11vw,58px);margin-top:20px}}
@media(prefers-reduced-motion:reduce){html[data-option="3"]{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.study-panel,.texture-panel,.opening-copy,.making-copy,.form-copy,.form-photo img,.making-photo img{transform:none!important}.opening-copy,.making-copy,.form-copy{opacity:1}}
