.place-page{background:#171512;color:#eee8dc}
.place-header{position:absolute}
.place-hero{position:relative;min-height:92svh;display:flex;align-items:flex-end;overflow:hidden}
.place-hero-image,.place-hero-shade{position:absolute;inset:0}
.place-hero-image{background:url('assets/graissessac.jpg') center 56%/cover no-repeat;transform:scale(1.01)}
.place-hero-shade{background:linear-gradient(0deg,rgba(10,9,8,.9),rgba(10,9,8,.08) 68%),linear-gradient(90deg,rgba(10,9,8,.5),transparent 65%)}
.place-hero-copy{position:relative;z-index:2;padding:0 7vw 8vh;max-width:940px}
.place-hero-copy h1{font-size:clamp(5rem,12vw,11rem);line-height:.8;margin:.12em 0}
.place-hero-copy .intro{font-size:clamp(1.1rem,1.7vw,1.45rem)}
.section-number{color:#b45a40;font-size:.72rem;letter-spacing:.18em;font-weight:600}
.place-intro{background:#eee8dc;color:#171512;padding:120px 7vw;display:grid;grid-template-columns:220px 1fr;gap:7vw}
.place-intro h2,.facade-copy h2,.room h2,.projection h2,.place-return h2{font-size:clamp(2.8rem,5vw,5.7rem)}
.facade-grid{position:relative;padding:120px 7vw;display:grid;grid-template-columns:minmax(260px,34%) minmax(320px,1fr) minmax(220px,25%);gap:5vw;align-items:center;background:#171512}
.portrait-image{margin:0;overflow:hidden}
.portrait-image img{width:100%;height:72vh;max-height:820px;object-fit:cover;display:block}
.facade-second{align-self:end;margin-top:160px}
.facade-second img{height:52vh}
.facade-copy p:last-child,.room-heading>div:last-child>p:last-child,.projection>div>p:last-child{line-height:1.8;max-width:620px;color:#c8c0b4}
.room{padding:120px 7vw}
.room-heading{display:grid;grid-template-columns:220px 1fr;gap:7vw;margin-bottom:65px}
.room-heading>div:last-child{max-width:980px}
.room-studio{background:#d8cdbb;color:#171512}
.room-studio .room-heading>div:last-child>p:last-child,.room-atelier .room-heading>div:last-child>p:last-child{color:#3d3831}
.studio-details-heading{max-width:760px;margin:120px 0 42px}
.studio-details-heading h3{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,3.6vw,4.2rem);font-weight:400;line-height:1.04;margin:.2em 0}
.studio-details-heading>p:last-child{max-width:610px;line-height:1.7;color:#3d3831}
.studio-details{display:grid;grid-template-columns:repeat(12,1fr);gap:2vw;align-items:start}
.studio-detail{grid-column:span 4;margin:0;overflow:hidden}
.studio-detail-wide{grid-column:span 7}
.studio-detail-tall{grid-column:span 5}
.studio-detail img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .7s ease,filter .7s ease}
.studio-detail-wide img{aspect-ratio:7/5}
.studio-detail-tall img{aspect-ratio:5/6}
.studio-detail:hover img{transform:scale(1.025);filter:contrast(1.04)}
.studio-detail figcaption{display:flex;justify-content:space-between;gap:22px;padding:14px 0 30px;border-top:1px solid rgba(23,21,18,.3)}
.studio-detail figcaption strong{font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}
.studio-detail figcaption span{font-size:.68rem;color:#5c554b;text-align:right}
.photo-pair{display:grid;grid-template-columns:1.15fr .85fr;gap:2vw;align-items:start}
.photo-pair figure{margin:0}
.photo-pair img{width:100%;height:52vw;max-height:740px;object-fit:cover;display:block}
.photo-pair figure:nth-child(2){margin-top:100px}
.photo-pair figcaption{text-transform:uppercase;letter-spacing:.12em;font-size:.62rem;margin-top:12px}
.room-atelier{background:#eee8dc;color:#171512}
.offset{grid-template-columns:.88fr 1.12fr}
.offset figure:first-child{margin-top:90px}.offset figure:nth-child(2){margin-top:0}
.projection{display:grid;grid-template-columns:58% 42%;background:#0f0e0c;align-items:center}
.projection figure{margin:0;min-height:720px}
.projection img{display:block;width:100%;height:720px;object-fit:cover}
.projection>div{padding:90px 7vw}
.room-cave{background:#28241f}
.cave-pair img{filter:saturate(.75) contrast(1.05)}
.work-note{margin:80px 0 0 27%;padding:28px 0;border-top:1px solid rgba(238,232,220,.28);display:grid;grid-template-columns:180px 1fr;gap:35px}
.work-note span{text-transform:uppercase;letter-spacing:.14em;font-size:.65rem;color:#c26a4d}
.work-note p{margin:0;max-width:650px;line-height:1.7}
.place-return{background:#eee8dc;color:#171512;padding:120px 7vw;text-align:center}
.place-return h2{max-width:900px;margin:20px auto 50px}
.place-return .button{margin-right:28px;background:#171512;color:#eee8dc}
@media(max-width:900px){
 .place-hero{min-height:78svh}.place-hero-copy{padding:0 6vw 7vh}
 .place-intro,.room-heading{grid-template-columns:1fr;gap:32px}
 .place-intro,.room,.facade-grid,.place-return{padding:80px 6vw}
 .studio-details-heading{margin-top:90px}
 .studio-detail,.studio-detail-wide,.studio-detail-tall{grid-column:span 6}
 .facade-grid{grid-template-columns:1fr 1fr}.facade-copy{grid-column:1/3;grid-row:1}.facade-second{margin-top:80px}
 .portrait-image img{height:58vh}.facade-second img{height:48vh}
 .projection{grid-template-columns:1fr}.projection figure,.projection img{height:65vh;min-height:0}.projection>div{padding:70px 6vw}
}
@media(max-width:620px){
 .place-hero-image{background-position:center}
 .facade-grid,.photo-pair{grid-template-columns:1fr}
 .studio-details{grid-template-columns:1fr;gap:28px}
 .studio-detail,.studio-detail-wide,.studio-detail-tall{grid-column:auto}
 .studio-detail img,.studio-detail-wide img,.studio-detail-tall img{aspect-ratio:4/5}
 .studio-detail-wide img{aspect-ratio:4/3}
 .studio-detail figcaption{padding-bottom:8px}
 .facade-copy{grid-column:auto}.facade-second,.offset figure:first-child,.photo-pair figure:nth-child(2){margin-top:20px}
 .portrait-image img,.facade-second img,.photo-pair img{height:62vh}
 .work-note{margin-left:0;grid-template-columns:1fr;gap:12px}
 .place-return .button{margin:0 0 28px}
 .place-return .plain-link{display:block;width:max-content;margin:auto}
}
@media(prefers-reduced-motion:reduce){.place-hero-image{transform:none}}
