/* Shared editorial system. Photography supplies the colour; UI stays quiet. */
:root{--site-gutter:clamp(24px,5.5vw,88px);--site-gap:clamp(24px,3vw,48px);--section-space:clamp(72px,10vw,160px);--motion-ease:cubic-bezier(.45,0,.25,1);--grad:var(--ink);--grad-135:var(--ink)}
body{background:var(--paper);color:var(--ink)}
body :is(h1,h2,h3,h4,h5,h6,.grad,.manifeste-phrase em){background-image:none!important;-webkit-text-fill-color:currentColor!important}
body :is(.shine-overlay,#cursor-glow,.pointer-glow,.figure-sale-indicator,.porto-tirage-note__icon){display:none!important}
body .has-pointer-glow--surface::before,body .btn-glow::before,body .btn-glow::after{display:none!important}
body :is(.btn,.btn-primary,.btn-ghost,.btn--ghost,.btn--dark-solid,.btn--dark-ghost,.nav__cta,.work-cta,.order-page__cta){background:var(--ink)!important;color:var(--paper)!important;border:1px solid var(--ink);box-shadow:none!important;text-shadow:none;min-height:44px;border-radius:2px;letter-spacing:.01em;text-transform:none;transition:background-color .4s var(--motion-ease),color .4s var(--motion-ease),border-color .4s var(--motion-ease)!important;transform:none!important}
body :is(.btn,.btn-primary,.btn-ghost,.btn--ghost,.btn--dark-solid,.btn--dark-ghost,.nav__cta,.work-cta,.order-page__cta):hover{background:var(--ink-muted)!important;border-color:var(--ink-muted);box-shadow:none!important;transform:none!important;text-decoration:none}
body :is(.btn-ghost,.btn--ghost,.btn--dark-ghost){background:transparent!important;color:var(--ink)!important;border-color:var(--rule-strong)}
body :is(.btn-ghost,.btn--ghost,.btn--dark-ghost):hover{background:var(--paper-50)!important;color:var(--ink)!important}
body .nav__cta{border-radius:999px;min-height:36px}
body :is(.link,.link-quiet,.work-back,.prose a:not([class])){background-image:none!important;color:var(--ink);text-decoration:underline;text-decoration-color:var(--rule-strong);text-underline-offset:6px;transition:text-decoration-color .35s ease}
body :is(.link,.link-quiet,.work-back,.prose a:not([class])):hover{text-decoration-color:var(--ink)}
body :is(a,button,input,textarea,select,[role=slider]):focus-visible{outline:2px solid var(--ink);outline-offset:5px}
body .nav a:hover{text-decoration:none}
body main :is(p,.hero__lead),body .porto-header__lead{font-size:var(--body-size);line-height:1.8}
body :is(.coll-header,.porto-header){max-width:1600px;padding:clamp(140px,15vw,210px) var(--site-gutter) 64px;margin:auto}
body .coll-header{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px var(--site-gap)}
body .coll-header__breadcrumb{grid-column:1/-1;margin:0;font-size:12px;letter-spacing:.03em;text-transform:none}
body .coll-header h1{grid-column:1/6;margin:0}
body .coll-header__lead{grid-column:7/13;margin:0;max-width:46ch}
body .tirage-hint{max-width:1600px;padding:0 var(--site-gutter);margin:0 auto 64px;border:0;justify-content:flex-end}
body .tirage-hint p{max-width:48ch;font-size:13px!important;color:var(--ink-muted);letter-spacing:normal}
body .masonry-wrap{max-width:1600px;padding:0 var(--site-gutter) var(--section-space)}
body .masonry{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-count:auto;gap:clamp(60px,8vw,128px) var(--site-gap);align-items:start}
body .masonry figure{display:block;grid-column:var(--gallery-column,span 6);grid-row:var(--gallery-row,auto);width:100%;min-width:0;margin:0;overflow:visible;transform:none!important;position:relative;cursor:auto;will-change:auto;align-self:center}
body .masonry figure:nth-child(even){padding-top:clamp(40px,6vw,96px)}
body .masonry figure :is(img,.figure-media){border-radius:0;box-shadow:none;background:none}
body .masonry figure img{display:block;width:100%;height:auto;transform:none!important;filter:none!important;opacity:1!important}
body .masonry figcaption{position:static;inset:auto;display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;padding:14px 0 0;background:none!important;color:var(--ink);opacity:1;transform:none}
body .masonry figcaption .title{font-size:15px;letter-spacing:0;text-transform:none;color:var(--ink);font-weight:400}
body .masonry figcaption .meta{font-size:12px;color:var(--ink-muted);letter-spacing:normal;text-transform:none}
body .masonry .work-page-link{min-height:44px;margin:-10px 0;color:var(--ink)}
body .masonry-figure-link{z-index:4}
body :is(.coll-continue,.coll-teasers){max-width:1600px;margin:auto;padding:0 var(--site-gutter) var(--section-space);background:none}
body .coll-list{display:grid;grid-template-columns:1fr 1fr;gap:var(--site-gap)}
body .coll-item{padding:26px 0;min-height:0;grid-template-columns:1fr auto;border-top:1px solid var(--rule)}
body .coll-item::before,body .coll-teaser::before{display:none}
body .coll-name{font-size:var(--subheading-size);text-transform:none;letter-spacing:-.025em}
body .coll-tag{font-size:12px;letter-spacing:0;text-transform:none}
body :is(.lf-encart,.coll-teaser){display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--site-gap);background:none;color:var(--ink);max-width:1600px;align-items:center;border:0;box-shadow:none}
body .lf-encart{margin:0 auto var(--section-space);padding:0 var(--site-gutter)}
body .lf-encart__body{grid-column:1/6;padding:0}
body .lf-encart__img{grid-column:7/13;height:auto;aspect-ratio:4/5}
body .lf-encart__img :is(img,video){opacity:1;transform:none!important;object-fit:cover}
body :is(.lf-encart__title,.lf-encart__num){color:var(--ink)}
body .lf-encart__desc{color:var(--ink-muted);max-width:42ch}
body .coll-teaser{padding:0;margin:0 0 var(--section-space)}
body .coll-teaser__media{grid-column:1/6;grid-row:1;aspect-ratio:3/4;background:none}
body .coll-teaser__body{grid-column:8/13;grid-row:1}
body .coll-teaser--reverse .coll-teaser__body{grid-column:1/6}
body .coll-teaser--reverse .coll-teaser__media{grid-column:8/13}
body .coll-teaser__media :is(img,video){transform:none!important}
body .home-unique-feature{background:none;border:0;margin:0 auto var(--section-space);max-width:1600px;padding:0 var(--site-gutter)}
body .home-unique-feature__inner{background:none;box-shadow:none;border:0}
body .philosophy-page .philosophy-hero,body.philosophy-page .philosophy-hero{background:none;max-width:1600px;margin:auto;padding:150px var(--site-gutter) var(--section-space);display:grid;grid-template-columns:1fr 1fr;gap:var(--site-gap)}
body.philosophy-page .philosophy-hero .hero__left{padding:0;align-self:center}
body.philosophy-page .philosophy-hero .hero__right{padding:0;min-height:0}
body .philosophy-content{max-width:1300px;padding:0 var(--site-gutter) var(--section-space)}
body .philosophy-content .prose{max-width:68ch;margin:auto}
body .prose h2{margin-top:80px}
body .prose p{line-height:1.85;max-width:68ch}
body .contact-hero{max-width:1600px;margin:auto;padding:150px var(--site-gutter) var(--section-space);gap:clamp(40px,8vw,128px);background:none;min-height:0}
body :is(.contact-left,.contact-right){padding:0;background:none}
body .contact-left__photo{margin-top:48px;max-width:75%}
body .contact-form{background:none;box-shadow:none}
body :is(.newsletter-section,.journal-newsletter){background:none;border-top:1px solid var(--rule);border-bottom:0;padding-top:64px;padding-bottom:64px}
body :is(.work-related__media,.work-related__thumb,.work-related a,.unique-gallery figure){background:none!important;box-shadow:none!important}
body :is(.work-portrait__story-title,.unique-story__body h2){font-size:var(--subheading-size)!important}
body :is(.unique-hero,.unique-story,.unique-contact){gap:var(--site-gap)}
body [data-editorial-motion]{opacity:var(--enter-opacity,1)!important;translate:0 var(--enter-y,0);transition:none!important}
body [data-editorial-motion]:focus-within{opacity:1!important;translate:none}
/* Old reveal scripts must never be a prerequisite for reading a page. */
body [data-reveal]{opacity:1;transform:none}
@media(max-width:700px){
 body :is(.coll-header,.porto-header){padding-top:135px;padding-bottom:40px}
 body .coll-header{grid-template-columns:1fr;gap:24px}
 body .coll-header :is(h1,.coll-header__lead,.coll-header__breadcrumb){grid-column:1/-1}
 body .tirage-hint{margin-bottom:42px;justify-content:flex-start}
 body .masonry{grid-template-columns:1fr;gap:54px}
 body .masonry figure{grid-column:1!important;grid-row:auto!important;padding-top:0!important;max-width:100%}
 body .masonry figure[data-orientation=portrait]{width:86%}
 body .masonry figure[data-orientation=portrait]:nth-child(even){justify-self:end}
 body .coll-list{grid-template-columns:1fr;gap:0}
 body :is(.lf-encart,.coll-teaser){grid-template-columns:1fr;gap:30px}
 body :is(.lf-encart__body,.lf-encart__img,.coll-teaser__body,.coll-teaser__media){grid-column:1!important;grid-row:auto!important}
 body .coll-teaser__media{max-width:86%}
 body .lf-encart__img{aspect-ratio:4/5}
 body.philosophy-page .philosophy-hero,body .contact-hero{grid-template-columns:1fr;padding-top:130px;gap:40px}
 body .philosophy-content{padding-top:0}
 body .prose h2{margin-top:55px}
}
@media(prefers-reduced-motion:reduce){body [data-editorial-motion]{opacity:1!important;translate:none!important}body *,body *::before,body *::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
body .home-unique-feature__inner{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px var(--site-gap);padding:0;align-items:center}
body .home-unique-feature__media{grid-column:1/6;grid-row:1/3;width:100%;height:auto;aspect-ratio:3/4;background:none}
body .home-unique-feature__media :is(img,video){width:100%;height:100%;object-fit:contain;transform:none}
body .home-unique-feature__content{grid-column:8/13;grid-row:1;align-self:end}
body .home-unique-feature__inner>.btn-ghost{grid-column:8/13;grid-row:2;align-self:start;justify-self:start}
body .home-unique-feature__text{max-width:36ch}
body :is(.seasonal-product__media,.seasonal-product__placeholder){background:none}
body .spectral-study figcaption span:first-child{display:inline;white-space:normal}
@media(max-width:700px){body .home-unique-feature__inner{grid-template-columns:1fr}body .home-unique-feature__media{grid-column:1;grid-row:auto;max-width:86%}body .home-unique-feature__content,body .home-unique-feature__inner>.btn-ghost{grid-column:1;grid-row:auto}}
body .contact-hero{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));box-sizing:border-box;width:100%}
body :is(.contact-left,.contact-right,.contact-form){min-width:0;width:100%;border:0}
body :is(.contact-form__label,.contact-info__label){font-size:13px;letter-spacing:normal;text-transform:none;color:var(--ink-muted)}
body .subject-pill label{font-size:13px;letter-spacing:normal;text-transform:none}
body .contact-form__row-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:700px){body .contact-hero{grid-template-columns:1fr}}
@media(max-width:700px){body .contact-left__photo{max-width:100%;height:180px;margin-top:28px}body .contact-left__photo img{width:100%;height:100%;object-fit:cover;object-position:center}}
body :is(h1,h2,h3,h4,h5,h6){font-family:var(--font-sans);font-weight:400}
body .prose h3{font-family:var(--font-sans);font-size:var(--subheading-size);letter-spacing:-.02em;text-transform:none;color:var(--ink)}
body.philosophy-page .hero__title{max-width:19ch}
body.philosophy-page .hero__lead + .hero__lead{margin-top:24px}
body .ir-compare,body .ir-compare__media{box-shadow:none;filter:none}
/* Brief document fades use an independent layer, so scroll motion cannot cancel them. */
html::after{content:'';position:fixed;inset:0;z-index:10000;background:var(--paper,#f7f8f7);opacity:0;pointer-events:none;transition:opacity 360ms cubic-bezier(.4,0,.2,1)}
html.page-leaving::after{opacity:1;transition-duration:180ms}
html.page-arriving::after{opacity:1;transition:none}
/* A small movement makes the hover legible without changing the layout. */
@media(hover:hover) and (pointer:fine){
 body :is(.btn,.btn-primary,.btn-ghost,.btn--ghost,.btn--dark-solid,.btn--dark-ghost,.work-cta,.order-page__cta){translate:0 0;transition:translate 380ms var(--motion-ease),background-color 380ms ease,color 380ms ease,border-color 380ms ease!important}
 body :is(.btn,.btn-primary,.btn-ghost,.btn--ghost,.btn--dark-solid,.btn--dark-ghost,.work-cta,.order-page__cta):hover{translate:0 -2px}
 body :is(.text-link,.link,.link-quiet,.back,.work-back,.work-page-link,.opening-links a,.compact-purchase button,.op-back-btn){transition:color 350ms ease,border-color 350ms ease,text-decoration-color 350ms ease,translate 450ms var(--motion-ease)!important}
 body :is(.text-link,.link,.link-quiet,.back,.work-back,.work-page-link,.opening-links a,.compact-purchase button,.op-back-btn):hover{translate:3px 0;color:var(--ink);text-decoration-color:var(--ink)}
 body .coll-item .coll-name{transition:translate 450ms var(--motion-ease)}
 body .coll-item:hover .coll-name{translate:6px 0}
}
body :is(.btn,.btn-primary,.btn-ghost,.work-cta,.order-page__cta):active{translate:0 0!important}
body .text-link:hover{text-decoration:none;border-bottom-color:var(--ink)}
body :is(button,a)[aria-disabled=true],body button:disabled{translate:none!important}
@media(prefers-reduced-motion:reduce){html::after{display:none!important}body :is(a,button,.coll-name){translate:none!important;transition:none!important}}
body :is(.quiet-link,.op-btn-sm){transition:color 350ms ease,background-color 350ms ease,border-color 350ms ease,translate 450ms var(--motion-ease)}
@media(hover:hover) and (pointer:fine){body .quiet-link:hover{translate:3px 0;border-color:var(--ink)}body .op-btn-sm:hover{background:var(--paper-50);border-color:var(--ink)}}
@media(prefers-reduced-motion:reduce){body :is(.quiet-link,.op-btn-sm){translate:none!important;transition:none!important}}
/* Photographs and their titles consistently lead to the artwork page. */
.work-image-link{display:block;cursor:pointer}
