/* Align the visible edge of the mark, compensating for the SVG's own left margin. */
.edition-26 :is(.header, .footer) .logo { transform:translateX(-5.405%); }

/* One typographic scale for the three project introductions. */
body.edition-26 .project-text > p:first-of-type,
body.edition-26 .architecture-story > .lead,
body.edition-26 .trecobat-copy > p:first-child {
  font-size:clamp(18px,1.5vw,23px); font-weight:400; line-height:1.6; letter-spacing:0;
}
body.edition-26 .project-text,
body.edition-26 .trecobat-copy { text-align:right; }
body.edition-26 .project-text .project-actions { align-items:flex-end; }
body.edition-26 .trecobat-copy { margin-left:auto; }
body.edition-26 .trecobat-copy .project-actions { justify-content:flex-end; }
body.edition-26 .architecture-story { text-align:left; }
body.edition-26 .architecture-story > .lead { max-width:62ch; }
body.edition-26 .trecobat-gallery { grid-template-columns:minmax(0,1fr); }

/* A single left-aligned sentence on a desktop, with natural wrapping on mobile. */
.edition-26 .together-heading { container-type:inline-size; }
body.edition-26 .together-heading > p { max-width:none; margin:32px 0 0; color:#fff; text-align:left; font-size:20px; }
body.edition-26 .working-together .together-heading > p { color:#fff; }
@media (min-width:1001px) {
  body.edition-26 .together-heading > p { font-size:min(23px,1.6cqw); white-space:nowrap; }
}

/* The full text reserves its place while the ink appears character by character. */
.method-readable { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.method-word { white-space:nowrap; }
.method-typing .method-letter { visibility:hidden; }
.method-typing .method-letter.is-inked { visibility:visible; }
.method-typing .step-index { opacity:0; transform-origin:left center; }
.method-typing .number-entered .step-index { opacity:1; animation:method-number-settle .6s cubic-bezier(.2,.75,.2,1) both; }
@keyframes method-number-settle {
  from { opacity:0; transform:translate(8px,14px) scale(1.4); }
  45% { opacity:1; }
  to { opacity:1; transform:translate(0,0) scale(1); }
}
.method-typing .working-step.is-complete .step-index { opacity:1; transform:none; animation:none; }

/* Hover clips live inside the existing image frame; the film player stays above them. */
.hover-film-media { position:relative; isolation:isolate; }
.hover-film-media > .hover-film-video { position:absolute; inset:0; width:100%; height:100%; max-width:none; object-fit:cover; pointer-events:none; border-radius:inherit; opacity:0; transition:opacity .3s ease; z-index:1; }
.hover-film-media.is-previewing > .hover-film-video { opacity:1; }
.hover-film-media:is(.case-film-cover,.trecobat-film-preview) > .hover-film-video { object-fit:contain; background:#080808; }
.hover-film-media :is(.case-film-play,.trecobat-preview-play,.inline-film-start,.big-play) { z-index:3; }
.hover-film-media.is-previewing :is(.case-film-play,.trecobat-preview-play,.inline-film-start) { opacity:.25; transition:opacity .25s; }
.hover-film-media.is-previewing:is(:focus-visible,:focus-within) :is(.case-film-play,.trecobat-preview-play,.inline-film-start) { opacity:1; }
.hover-film-media.is-inline-active > .hover-film-video { display:none; }
.architecture-stage.hover-film-media > .hover-film-video { z-index:0; }
.architecture-stage.hover-film-media .architecture-shade { z-index:1; pointer-events:none; }
.architecture-stage.hover-film-media h3 { z-index:2; pointer-events:none; }
.film-thumb { display:block; overflow:hidden; border-radius:14px; width:120px; }
.film-index .film-thumb img { width:100%; height:auto; }
.lasting-project > .collaboration-thumb { display:block; overflow:hidden; border-radius:18px; width:100%; aspect-ratio:2 / 1; background:#080808; }
.collaboration-thumb > img { width:100%; height:100%; object-fit:cover; }

/* Three films, in chronological order and at the same size. */
.edition-26 .greetings-films { grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(16px,2.4vw,36px); }
.edition-26 .greetings-films > article { min-width:0; grid-column:auto; }
.edition-26 .greetings-films .flichy-film { max-width:none; }

/* The Link opens the Gaussin sequence with the whole content width. */
.edition-26 .gaussin-brand-grid { grid-template-columns:minmax(0,1fr); gap:28px; }
.gaussin-film-research { border-top:1px solid #48483f; border-bottom:1px solid #48483f; }
.gaussin-film-research summary { display:flex; justify-content:space-between; gap:24px; padding:20px 0; cursor:pointer; font-size:17px; list-style:none; }
.gaussin-film-research summary::-webkit-details-marker { display:none; }
.gaussin-film-research summary > span { color:var(--yellow); }
.gaussin-film-research[open] summary > span { transform:rotate(45deg); }
.gaussin-film-research > figure { max-width:840px; margin:10px auto 30px; }
html.guided-scrolling { scroll-behavior:auto; }

@media (max-width:800px) {
  .film-thumb { width:95px; }
  .edition-26 .greetings-films { gap:18px; }
  .edition-26 .greetings-films h4 { font-size:20px; }
}
@media (max-width:700px) {
  body.edition-26 .trecobat-copy { margin-left:0; text-align:left; }
  body.edition-26 .trecobat-copy .project-actions { justify-content:flex-start; }
  .lasting-project > .collaboration-thumb { aspect-ratio:16 / 9; border-radius:16px; }
  .lasting-project:first-child .collaboration-thumb > img { object-fit:contain; }
}
@media (max-width:600px) {
  .edition-26 .greetings-films { grid-template-columns:minmax(0,1fr); gap:34px; }
}
@media (max-width:540px) {
  body.edition-26 .project-text { text-align:left; }
  body.edition-26 .project-text .project-actions { align-items:flex-start; }
  .film-thumb { width:75px; }
}
@media (prefers-reduced-motion:reduce) {
  .method-typing .method-letter { visibility:visible; }
  .method-typing .step-index { opacity:1; animation:none!important; transform:none; }
  .hover-film-media > .hover-film-video { transition:none; }
}
.visuals-still .method-typing .method-letter { visibility:visible; }
.visuals-still .method-typing .step-index { opacity:1; animation:none; transform:none; }
@media print {
  .method-typing .method-letter { visibility:visible; }
  .method-typing .step-index { opacity:1; animation:none; }
  .hover-film-video { display:none; }
}
