@font-face{font-family:Commune;src:url('/assets/commune.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
:root{--display:Commune,Georgia,serif}
h1,h2,h3{font-weight:400!important;letter-spacing:-.035em;overflow-wrap:break-word}
h1 em,h2 em,h3 em{font-weight:400}
.portrait-hero h1{font-size:clamp(35px,3.5vw,58px);line-height:1.1}
.hero.hero-trio h1{font-size:clamp(32px,3.2vw,51px);line-height:1.12}
.maison-intro h2,.maison-close h2{font-size:clamp(39px,4.7vw,70px);line-height:1.12}
.carousel-heading h2,.films-copy h2{font-size:clamp(34px,3.6vw,53px);line-height:1.15}
.slide-copy h3{font-size:clamp(23px,1.9vw,30px);line-height:1.12}
.maison-statement h2{font-size:clamp(39px,4.8vw,72px);line-height:1.13}
.film-word{font-family:Commune,Georgia,serif;font-size:120px}
.editorial-chapter{background:#faf9f7;display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center;padding-top:115px;padding-bottom:125px}
.chapter-pictures{position:relative;padding:0 35px 65px 0}
.scroll-photo{display:block;position:relative;overflow:hidden;margin:0;background:#251e1d;border-radius:140px 140px 14px 14px;height:540px}
.scroll-photo>img{width:100%;height:100%;object-fit:cover;object-position:67% center;transform:scale(1.08);will-change:transform}
.chapter-inset{position:absolute;bottom:0;right:-10px;width:46%;height:205px;object-fit:cover;border:8px solid #faf9f7;border-radius:14px;box-shadow:0 15px 40px #0002}
.chapter-label{position:absolute;left:0;bottom:18px;font-size:9px;letter-spacing:2px;text-transform:uppercase;color:#777}
.chapter-copy h2{font-size:clamp(34px,3.6vw,54px);line-height:1.12}.chapter-copy p{font-size:16px;max-width:440px}.chapter-copy .eyebrow{font-size:10px}
.chapter-details{margin:28px 0 30px;border-top:1px solid #d8d2cb}
.chapter-details div{padding:15px 0;border-bottom:1px solid #d8d2cb;display:grid;grid-template-columns:35px 1fr;gap:10px;font-size:13px;line-height:1.7}.chapter-details span{color:var(--red);font-size:11px}.chapter-details strong{font-weight:500}
.character-band{overflow:hidden;background:var(--red);color:white;padding:30px 0}
.character-track{display:flex;gap:60px;width:max-content;font:400 clamp(30px,4vw,60px)/1.2 Commune,serif;will-change:transform}
.character-track span{white-space:nowrap}.character-track b{font-weight:400;font-style:italic;opacity:.6;margin:0 25px}
.scroll-arrival{animation:scroll-arrival 1.1s cubic-bezier(.22,.7,.25,1) both}
@keyframes scroll-arrival{from{opacity:.2;transform:translateY(35px)}to{opacity:1;transform:translateY(0)}}
.page-editorial{max-width:1240px;margin:0 auto 60px;padding:0 6%;display:grid;grid-template-columns:1fr 1fr;gap:25px}.page-editorial img{width:100%;height:420px;object-fit:cover;border-radius:20px}.page-editorial p{font-size:12px;margin-top:12px}
@media(max-width:1000px){.editorial-chapter{gap:6%}.scroll-photo{height:440px}.chapter-inset{height:160px}.chapter-pictures{padding-right:15px}.page-editorial img{height:330px}}
@media(max-width:650px){.portrait-hero h1,.hero.hero-trio h1{font-size:clamp(33px,8.5vw,49px)}.maison-intro h2,.maison-close h2{font-size:38px}.carousel-heading h2,.films-copy h2,.chapter-copy h2{font-size:34px}.slide-copy h3{font-size:29px}.editorial-chapter{grid-template-columns:1fr;gap:40px;padding-top:65px;padding-bottom:70px}.scroll-photo{height:440px}.chapter-pictures{max-width:440px;width:100%;margin:auto}.chapter-inset{height:175px}.page-editorial{grid-template-columns:1fr}.page-editorial img{height:340px}.film-word{font-size:85px}}
@media(prefers-reduced-motion:reduce){.scroll-arrival{animation:none}.scroll-photo>img,.character-track{transform:none!important;will-change:auto}}
.paused .scroll-arrival{animation:none}.paused .scroll-photo>img,.paused .character-track{transform:none!important;will-change:auto}

/* Commune includes one upright face; keep emphasis in its original letterforms. */
h1 em,h2 em,h3 em,.film-word,.character-track b{font-style:normal}
/* v31: photographic closing invitation, with an animated circular arrow. */
.maison-close.contact-invitation{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:9%;align-items:center;text-align:left;padding-top:95px;padding-bottom:95px}
.invitation-photo{position:relative;overflow:hidden;height:490px;border-radius:180px 180px 18px 18px;background:#201b18}
.invitation-photo>img{width:100%;height:100%;object-fit:cover;object-position:66% center;transform:scale(1.08);will-change:transform}
.invitation-photo:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#0009);pointer-events:none}
.invitation-caption{position:absolute;bottom:27px;left:28px;right:28px;color:white;font-size:11px;letter-spacing:1px;z-index:1}
.contact-invitation .invitation-copy h2{font-size:clamp(39px,4.5vw,66px);line-height:1.12;margin-bottom:25px}
.contact-invitation .invitation-copy>p:not(.eyebrow){max-width:470px;font-size:17px;line-height:1.8;margin-bottom:30px}
.invitation-button{display:inline-flex;gap:26px;align-items:center;padding:12px 12px 12px 27px;border-radius:999px;background:var(--red);color:#fff;box-shadow:0 10px 30px #e20c1618;transition:background .3s,box-shadow .3s}
.invitation-button>span:first-child{font-size:16px;line-height:1.4}.invitation-button small{display:block;font-size:10px;letter-spacing:.2px;opacity:.85;margin-top:4px}
.invitation-arrow{display:grid;place-items:center;width:58px;height:58px;flex-shrink:0;border-radius:50%;background:#fff;color:var(--red);font-size:30px;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.invitation-button:hover,.invitation-button:focus-visible{background:#ba0812;box-shadow:0 14px 32px #e20c1626}.invitation-button:hover .invitation-arrow,.invitation-button:focus-visible .invitation-arrow{transform:rotate(45deg)}
.invitation-mail{display:block;margin-top:25px;font-size:12px;color:#777}.invitation-mail span{display:inline-block;color:#333;border-bottom:1px solid #ccc;margin-left:5px}
@media(max-width:750px){.maison-close.contact-invitation{grid-template-columns:1fr;gap:40px;padding-top:60px;padding-bottom:65px}.invitation-photo{height:370px;max-width:440px;width:100%;margin:auto}.invitation-copy{max-width:500px}.contact-invitation .invitation-copy h2{font-size:42px}.invitation-button{gap:15px;padding-left:20px}.invitation-button>span:first-child{font-size:15px}.invitation-arrow{height:50px;width:50px}.invitation-mail span{margin-left:0}}
@media(prefers-reduced-motion:reduce){.invitation-button,.invitation-arrow{transition:none}.invitation-button:hover .invitation-arrow{transform:none}.invitation-photo>img{transform:none!important;will-change:auto}}
.paused .invitation-photo>img{transform:none!important}.paused .invitation-arrow{transition:none;transform:none!important}
/* v32: alternate composition and background between adjacent editorial sections. */
.maison-films{padding-bottom:85px}
.editorial-chapter{background:#171414;color:#fff;padding-top:85px;padding-bottom:90px}
.editorial-chapter .chapter-copy{grid-column:1;grid-row:1}
.editorial-chapter .chapter-pictures{grid-column:2;grid-row:1}
.editorial-chapter .chapter-copy p{color:#c7bebb}
.editorial-chapter .chapter-copy .eyebrow{color:#ff7279}
.editorial-chapter .chapter-details{border-color:#ffffff26}
.editorial-chapter .chapter-details div{border-color:#ffffff26}
.editorial-chapter .chapter-details span{color:#ff7279}
.editorial-chapter .chapter-inset{border-color:#171414}
.editorial-chapter .chapter-label{color:#b6aaa5}
.editorial-chapter .text-link:hover{color:#ff7279}
@media(max-width:650px){
 .maison-films{padding-bottom:60px}
 .editorial-chapter{padding-top:60px;padding-bottom:65px}
 .editorial-chapter .chapter-copy{grid-column:1;grid-row:1}
 .editorial-chapter .chapter-pictures{grid-column:1;grid-row:2}
}
/* v33: clear agency introduction, with readable editorial columns. */
.agency-introduction{display:grid;grid-template-columns:1fr 1fr;gap:8%;margin-top:40px;align-items:start}
.agency-introduction p{font-size:16px;line-height:1.85;margin-bottom:21px;color:#555}
.agency-introduction .agency-lead{font-size:23px;line-height:1.55;color:#222}
.agency-introduction .agency-subheading{font-size:19px;line-height:1.55;color:#222;font-weight:600}
.agency-introduction strong{color:#222}.agency-introduction .text-link{font-size:11px}
@media(max-width:750px){.agency-introduction{grid-template-columns:1fr;gap:15px;margin-top:28px}.agency-introduction .agency-lead{font-size:21px}}

/* Scroll entrances: actual rendered lines settle first, photos follow. */
.arrival-word{display:inline-block;position:relative}
.letters-arrive .arrival-word{animation:letter-settle 1.05s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--arrival-delay,0ms)}
.scroll-arrival{animation:copy-settle 1.15s cubic-bezier(.16,1,.3,1) both}
.picture-arrives{animation:photo-settle 1.4s cubic-bezier(.16,1,.3,1) both}
@keyframes letter-settle{from{opacity:0;transform:translateY(42px) rotate(2deg)}to{opacity:1;transform:translateY(0) rotate(0)}}
@keyframes copy-settle{from{opacity:.1;transform:translateY(38px)}to{opacity:1;transform:translateY(0)}}
@keyframes photo-settle{from{opacity:.1;transform:translateY(75px) scale(.96);clip-path:inset(8% 0 0 0)}to{opacity:1;transform:translateY(0) scale(1);clip-path:inset(0)}}
.paused .arrival-word,.paused .picture-arrives,.paused .scroll-arrival{animation:none!important}
@media(prefers-reduced-motion:reduce){.arrival-word,.picture-arrives,.scroll-arrival{animation:none!important}}
