/* Fixed compositions; all content comes from project metadata. */
body.trrm-designed{background:var(--project-bg);color:var(--project-ink)}
body.admin-bar.trrm-designed .trrm-header{top:32px}
body.trrm-designed-dark .trrm-logo__image{filter:invert(1)}
.pt-project{font-family:var(--trrm-font);font-size:clamp(18px,1.5vw,27px);line-height:1.45;letter-spacing:-.035em;padding-top:calc(var(--trrm-header-h) + 40px)}
.pt-project *{box-sizing:border-box;min-width:0}
.pt-project h1,.pt-project h2,.pt-project p,.pt-project figure{margin:0}
.pt-project h1,.pt-project h2{font-weight:400;line-height:1.05;letter-spacing:-.065em;overflow-wrap:anywhere}
.pt-project img{display:block;width:100%;height:auto;max-width:none}
.pt-project a{color:inherit;text-decoration:none}
.pt-project a:hover{text-decoration:underline;text-underline-offset:.2em}
.pt-project a:focus-visible,.pt-project button:focus-visible,.pt-gallery:focus-visible{outline:3px solid currentColor;outline-offset:5px}
.pt-project figcaption{font-size:12px;line-height:1.5;letter-spacing:.015em;padding:13px 0 0;overflow-wrap:anywhere}
.pt-opening{padding:35px 3vw 70px;display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:end}
.pt-opening h1{font-size:clamp(48px,7vw,135px)}
.pt-opening h1 small{display:block;font:inherit;font-size:.52em;letter-spacing:-.04em;margin-top:.12em}
.pt-opening>p{max-width:28em;white-space:normal;overflow-wrap:anywhere}
.pt-intro{display:grid;grid-template-columns:1fr 1fr;gap:10vw;padding:55px 3vw 90px}
.pt-intro>span{font-size:12px;letter-spacing:.04em}
.pt-cover img,.pt-finale img{aspect-ratio:16/9;object-fit:cover}
.pt-film{scroll-margin-top:calc(var(--trrm-header-h) + 55px)}
.pt-project .trrm-proyecto__hero{position:relative;width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:16/9;margin:0;background:#20221f;overflow:hidden}
.pt-project .trrm-proyecto__hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:none}
.pt-project .trrm-proyecto__play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:105px;height:105px;background:var(--project-accent);color:var(--project-accent-ink);border:1px solid #ffffff80;border-radius:50%;font-size:30px;padding:0 0 0 5px;cursor:pointer}
.pt-project .trrm-proyecto__play:hover{opacity:.85}
.pt-project .trrm-proyecto__hero-player{position:absolute;inset:0;top:0;left:0;width:100%;height:100%;min-width:0;min-height:0;max-width:none;transform:none;border:0;object-fit:contain}
.pt-video-fallback{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:18px 25px;background:var(--project-accent);color:var(--project-accent-ink)!important}
.pt-film>figcaption{display:flex;justify-content:space-between;gap:20px;padding:15px 3vw}
.pt-copy{max-width:1040px;margin:0 auto;padding:75px 4vw;display:grid;gap:25px}
.pt-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.pt-pair.is-single{grid-template-columns:1fr}
.pt-pair img{height:auto;aspect-ratio:16/10;object-fit:cover}
.pt-wide{margin-top:45px!important}
.pt-gallery{display:flex;gap:20px;width:76%;margin:75px auto;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;padding-bottom:15px}
.pt-gallery figure{flex:0 0 88%;scroll-snap-align:start}
.pt-gallery.is-single figure{flex-basis:100%}
.pt-gallery img{aspect-ratio:16/9;object-fit:cover}
.pt-editorial>.pt-pair,.pt-editorial>.pt-wide{margin-left:3vw;margin-right:3vw}
.pt-editorial>.pt-cover{margin:0 3vw}
.pt-statement{padding:100px 6vw;position:relative;display:grid;grid-template-columns:1fr;gap:35px;align-items:center}
.pt-statement h2{font-size:clamp(50px,7vw,130px);line-height:1.04;max-width:14em}
.pt-chapter-one{padding:60px 3vw 75px}
.pt-label{font-size:12px!important;letter-spacing:.04em!important;margin-bottom:45px!important}
.pt-contact-sheet{display:grid;grid-template-columns:1fr 1fr;gap:4vw;align-items:start}
.pt-contact-sheet figure:nth-child(2){margin-top:100px}
.pt-contact-sheet img{aspect-ratio:4/5;object-fit:cover}
.pt-contact-sheet.is-single{grid-template-columns:1fr;max-width:900px;margin-inline:auto}
.pt-story{max-width:28em;margin:65px 0 0 auto!important}
.pt-spread{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center;margin-top:85px}
.pt-spread img{aspect-ratio:4/5;object-fit:cover}
.pt-spread>p{max-width:24em}
.pt-spread:not(:has(figure)){display:block}
.pt-spread:not(:has(p)){grid-template-columns:1fr}
.pt-world{padding:90px 3vw}
.pt-world-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:8vw;align-items:start}
.pt-world-copy{position:sticky;top:calc(var(--trrm-header-h) + 65px)}
.pt-world-copy h2{font-size:clamp(40px,5.5vw,105px)}
.pt-world-copy p{margin-top:35px;max-width:25em}
.pt-world-copy:empty{display:none}
.pt-world-layout:not(:has(.pt-world-copy>*)){grid-template-columns:1fr}
.pt-world-layout:not(:has(.pt-world-images img)){display:block}
.pt-world-images>.pt-pair{margin-top:28px}
.pt-world-images>.pt-pair img{aspect-ratio:4/5}
.pt-strip{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:65px}
.pt-strip.is-single{grid-template-columns:1fr}
.pt-closing{padding:70px 3vw;display:grid;grid-template-columns:1.4fr .6fr;gap:8vw;align-items:end}
.pt-closing h2{font-size:clamp(50px,8vw,150px);line-height:1}
.pt-closing p{font-size:16px;letter-spacing:0;line-height:1.6}
.pt-closing:not(:has(h2)){grid-template-columns:1fr}
.pt-credits{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:65px 3vw;font-size:15px;letter-spacing:0}
.pt-credits h2,.pt-press h2{font-size:13px;margin-bottom:20px}
.pt-credits dl{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:28px}
.pt-credits dt{font-size:11px;opacity:.7;margin-bottom:7px}
.pt-credits dd{margin:0}
.pt-press{padding:30px 3vw;font-size:17px;overflow-wrap:anywhere}
.pt-press p{margin-top:14px}
.pt-comparison{margin:50px 3vw!important}
.pt-next{display:block;padding:70px 3vw}
.pt-next>span{display:block;font-size:12px;margin-bottom:20px;letter-spacing:0}
.pt-next>strong{display:block;font-size:clamp(35px,5vw,95px);font-weight:400;line-height:1.1;letter-spacing:-.05em;overflow-wrap:anywhere}
/* Cinemática: large title, staggered portraits and alternating light chapter. */
.pt-cinema .pt-opening{grid-template-columns:1.3fr .7fr;padding-bottom:75px}
.pt-cinema .pt-opening h1{font-size:clamp(75px,12vw,225px);letter-spacing:-.08em}
.pt-cinema .pt-cover{margin:0 3vw}
.pt-cinema>.pt-film{padding:0 3vw 65px}
.pt-cinema .pt-film>figcaption{padding-inline:0}
.pt-cinema .pt-chapter-one{background:#f0efe9;color:#151714}
.pt-cinema .pt-contact-sheet{grid-template-columns:1.1fr .9fr;gap:8vw}
.pt-cinema .pt-contact-sheet.is-single{grid-template-columns:1fr}
.pt-cinema .pt-closing h2{font-size:clamp(60px,10vw,190px)}
/* Atelier: quiet cover, upright images, asymmetric contact sheet, accent close. */
.pt-atelier-cover{position:relative;margin:0 3vw;background:#20221f;isolation:isolate}
.pt-atelier-cover img{height:min(66vw,780px);min-height:420px;object-fit:cover}
.pt-atelier-cover:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#0009);z-index:1;pointer-events:none}
.pt-atelier-cover h1{position:absolute;left:3vw;right:3vw;bottom:30px;color:#fff;font-size:clamp(65px,12vw,225px);line-height:.9;letter-spacing:-.08em;z-index:2}
.pt-atelier-cover h1 small{display:block;font:inherit;font-size:.4em;letter-spacing:-.04em;margin-top:15px}
.pt-atelier-cover.has-no-cover{background:transparent;padding:35px 0}
.pt-atelier-cover.has-no-cover h1{position:static;color:inherit}
.pt-atelier-cover.has-no-cover:after{display:none}
.pt-atelier .pt-statement{grid-template-columns:1.4fr .6fr;padding:30px 3vw 100px;gap:3vw}
.pt-atelier .pt-statement:not(:has(.pt-stamp)){grid-template-columns:1fr}
.pt-atelier .pt-statement h2{font-size:clamp(55px,8.8vw,165px);letter-spacing:-.075em}
.pt-stamp img{aspect-ratio:4/5;object-fit:cover}
.pt-atelier .pt-chapter-one{background:#151714;color:#f0efe9}
.pt-atelier .pt-contact-sheet{grid-template-columns:1.25fr .75fr 1fr;gap:22px}
.pt-atelier .pt-contact-sheet figure:nth-child(2){margin-top:110px}
.pt-atelier .pt-contact-sheet figure:nth-child(3){margin-top:40px}
.pt-atelier .pt-contact-sheet.is-single{grid-template-columns:1fr}
.pt-atelier .pt-contact-sheet:has(>figure:nth-child(2)):not(:has(>figure:nth-child(3))){grid-template-columns:1fr 1fr}
.pt-atelier>.pt-film{padding:40px 3vw 65px;background:#151714;color:#f0efe9}
.pt-atelier>.pt-film>figcaption{padding-inline:0}
.pt-atelier .pt-closing{display:block;background:var(--project-accent);color:var(--project-accent-ink)}
.pt-atelier .pt-closing h2{font-size:clamp(65px,13vw,240px);line-height:.95;letter-spacing:-.08em}
.pt-atelier .pt-closing p{margin-top:55px;max-width:30em}
@media(max-width:782px){body.admin-bar.trrm-designed .trrm-header{top:46px}}
@media(max-width:700px){
body.trrm-designed .trrm-header__nav{display:none}body.trrm-designed .trrm-menu-toggle{margin-left:auto}
.pt-project{padding-top:calc(var(--trrm-header-h) + 30px);font-size:19px}
.pt-opening,.pt-cinema .pt-opening{grid-template-columns:1fr;gap:25px;padding:25px 20px 40px}
.pt-opening h1{font-size:13vw}.pt-cinema .pt-opening h1{font-size:19vw}
.pt-intro{grid-template-columns:1fr;gap:22px;padding:30px 20px 50px}
.pt-project .trrm-proyecto__play{width:64px;height:64px;font-size:23px}
.pt-copy{padding:45px 20px}.pt-pair{gap:10px}.pt-pair img{aspect-ratio:4/5}
.pt-editorial>.pt-pair,.pt-editorial>.pt-wide,.pt-editorial>.pt-cover{margin-left:20px;margin-right:20px}
.pt-gallery{width:calc(100% - 40px);margin:40px 20px;gap:12px}.pt-gallery figure{flex-basis:92%}
.pt-statement,.pt-atelier .pt-statement{padding:50px 20px;grid-template-columns:1fr;gap:30px}
.pt-statement h2,.pt-atelier .pt-statement h2{font-size:13vw}.pt-stamp{max-width:70%;margin-left:auto!important}
.pt-chapter-one{padding:40px 20px}.pt-label{margin-bottom:30px!important}
.pt-contact-sheet,.pt-cinema .pt-contact-sheet,.pt-atelier .pt-contact-sheet{grid-template-columns:1fr 1fr;gap:14px}
.pt-contact-sheet.is-single,.pt-cinema .pt-contact-sheet.is-single,.pt-atelier .pt-contact-sheet.is-single{grid-template-columns:1fr}
.pt-contact-sheet figure:nth-child(2),.pt-atelier .pt-contact-sheet figure:nth-child(2){margin-top:55px}
.pt-atelier .pt-contact-sheet figure:nth-child(3){grid-column:1/-1;margin:15px 12% 0 0}.pt-atelier .pt-contact-sheet figure:nth-child(3) img{aspect-ratio:4/3}
.pt-story{margin-top:40px!important}.pt-spread{grid-template-columns:1fr;gap:30px;margin-top:40px}
.pt-world{padding:50px 20px}.pt-world-layout{grid-template-columns:1fr;gap:35px}.pt-world-copy{position:static}.pt-world-copy h2{font-size:13vw}.pt-world-copy p{margin-top:25px}.pt-strip{margin-top:35px;gap:12px}
.pt-closing{padding:45px 20px;grid-template-columns:1fr;gap:35px}.pt-closing h2,.pt-cinema .pt-closing h2{font-size:15vw}.pt-atelier .pt-closing h2{font-size:18.8vw}
.pt-credits{grid-template-columns:1fr;padding:45px 20px;gap:30px}.pt-next{padding:45px 20px}.pt-press{padding:25px 20px}
.pt-atelier-cover{margin:0 20px}.pt-atelier-cover img{min-height:0;height:112vw;max-height:650px}.pt-atelier-cover h1{font-size:18vw;left:12px;right:12px;bottom:22px}
.pt-cinema>.pt-film,.pt-atelier>.pt-film{padding-left:20px;padding-right:20px}.pt-cinema .pt-cover{margin:0 20px}
.pt-project figcaption{font-size:10px}.pt-film>figcaption{padding:12px 20px}
}
@media(prefers-reduced-motion:reduce){.pt-project *{scroll-behavior:auto!important}}

/* Editorial: exact geometry of the approved first proposal. Kept independent
   from the shared cinema/atelier styles so future changes cannot alter it. */
.editorial-study{font-family:var(--trrm-font),sans-serif;font-weight:400;font-size:clamp(18px,1.48vw,28px);line-height:1.48;letter-spacing:-.035em}
.editorial-study *{box-sizing:border-box}
.editorial-study p,.editorial-study h1,.editorial-study h2,.editorial-study figure{margin:0}
.editorial-study h1,.editorial-study h2{font:inherit;color:inherit;letter-spacing:inherit}
.editorial-study img{display:block;width:100%;height:auto;max-width:none}
.editorial-intro{display:grid;grid-template-columns:1fr 1fr;gap:4vw;padding:calc(var(--trrm-header-h) + 100px) 3vw 110px 27vw;align-items:start}
.editorial-intro h1{font-size:inherit!important;font-weight:400!important}
.editorial-copy{margin:0;padding:130px 3vw 130px 63vw}
.editorial-copy p+p,.editorial-copy h2+p{margin-top:1.2em}
.editorial-study .trrm-proyecto__hero{position:relative;width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:16/9;margin:0;left:auto;right:auto;overflow:hidden;background:#d9d9d9}
.editorial-study .trrm-proyecto__hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:none}
.editorial-study .trrm-proyecto__play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:100px;height:100px;border:2px solid white;border-radius:50%;background:transparent;color:white;font-size:36px;cursor:pointer;display:grid;place-items:center;padding:0 0 0 5px;transition:background .2s}
.editorial-study .trrm-proyecto__play:hover{background:#ffffff22}
.editorial-study .trrm-proyecto__play:focus-visible{outline:3px solid currentColor;outline-offset:5px}
.editorial-study .trrm-proyecto__hero-player{position:absolute;inset:0;width:100%;height:100%;border:0}
.editorial-study iframe.trrm-proyecto__hero-player{top:0;left:0;width:100%;height:100%;min-width:0;min-height:0;transform:none;max-width:none}
.editorial-study .pt-film>figcaption{display:flex;justify-content:space-between;gap:20px;padding:24px 3vw 0 15vw;font-size:15px;letter-spacing:0}
.editorial-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:0 3vw}
.editorial-pair.is-single{grid-template-columns:1fr}
.editorial-pair img{aspect-ratio:16/9;object-fit:cover}
.editorial-inset{margin:110px 3vw 0 27vw!important}
.editorial-gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:16px;scrollbar-width:thin;scrollbar-color:#aaa #eee;padding-bottom:14px}
.editorial-gallery figure{flex:0 0 100%;scroll-snap-align:start}
.editorial-gallery figcaption{display:flex;justify-content:space-between;font-size:14px;letter-spacing:0;padding:18px 0 8px;color:#666}
.editorial-gallery:focus-visible{outline:2px solid currentColor;outline-offset:6px}
.editorial-space{margin-top:110px!important}
.editorial-end{display:grid;grid-template-columns:1fr 1fr;gap:4vw;padding:120px 3vw 140px 27vw;font-size:18px;letter-spacing:-.02em}
.editorial-end h2{color:#888;margin-bottom:24px}
.editorial-end p+p{margin-top:20px}
.editorial-end small{display:block;color:#888;font-size:13px;line-height:1.6;letter-spacing:0;margin-top:24px}
@media(max-width:860px){.editorial-study{font-size:19px;letter-spacing:-.025em}.editorial-intro{grid-template-columns:1fr;gap:26px;padding:calc(var(--trrm-header-h) + 44px) 20px 54px}.editorial-copy{padding:60px 20px 64px 22vw}.editorial-pair{gap:10px;padding:0 14px}.editorial-inset{margin:60px 20px 0 12vw!important}.editorial-space{margin-top:60px!important}.editorial-study .pt-film>figcaption{padding:16px 20px 0;font-size:12px}.editorial-study .trrm-proyecto__play{width:62px;height:62px;font-size:24px}.editorial-end{padding:64px 20px 70px;gap:28px;font-size:16px}}
@media(prefers-reduced-motion:reduce){.editorial-study *{scroll-behavior:auto!important;transition:none!important}}
@media(min-width:601px) and (max-width:700px){body:has(.editorial-study) .trrm-header__nav{display:flex}}
@media(max-width:600px){body:has(.editorial-study) .trrm-header__nav{display:none}.editorial-pair{grid-template-columns:1fr;gap:14px;padding:0 20px}.editorial-copy{padding-left:20px}.editorial-end{grid-template-columns:1fr;gap:38px}body:has(.editorial-study) .trrm-menu-toggle{margin-left:auto}}

/* Shared breathing room between image rows, including projects without copy. */
.editorial-study,.trrm-cinema,.trrm-atelier{--trrm-image-row-gap:64px}
.editorial-study>:is(figure,.editorial-pair,.editorial-inset)+:is(figure,.editorial-pair){margin-top:var(--trrm-image-row-gap)}
.editorial-study .editorial-pair{row-gap:var(--trrm-image-row-gap)}
.trrm-cinema .cinema-extra{margin-top:var(--trrm-image-row-gap)!important}
.trrm-cinema :is(.cinema-duet,.cinema-detail,.cinema-architecture){row-gap:var(--trrm-image-row-gap)}
.trrm-atelier :is(.atelier-contact-grid,.atelier-world-images,.atelier-strip){row-gap:var(--trrm-image-row-gap)}
.trrm-atelier .atelier-world-images figure:not(:first-child){margin-top:0}
@media(max-width:860px){
 .editorial-study,.trrm-cinema,.trrm-atelier{--trrm-image-row-gap:32px}
}
