@font-face {
  font-family:'Deck8 Handwriting'; src:url('assets/playlist-script.woff') format('woff');
  font-style:normal; font-weight:400; font-display:swap;
}
body.edition-28 .signal-word,
body.edition-28 .opening h1 > .hero-title-handwritten {
  font-family:'Deck8 Handwriting','Segoe Script',cursive;
  font-weight:400; font-style:normal; letter-spacing:0;
  font-kerning:normal; font-variant-ligatures:common-ligatures contextual;
  font-feature-settings:'liga' 1,'calt' 1;
}
/* Playlist keeps the connected dry-brush strokes in a single shaping run. */
body.edition-28 .opening h1 > .hero-title-handwritten { font-size:1.04em; line-height:1.24; padding-top:.03em; padding-bottom:.04em; }
body.edition-28 .signal-word { line-height:1.26; padding-bottom:.14em; }
.script-unit { white-space:nowrap; font:inherit; letter-spacing:0; }

/* A small, persistent cue on images that open a full film. */
.trecobat-film-preview, .film-thumb { position:relative; }
:is(.film-frame-trigger,.trecobat-film-preview,.case-film-cover,.film-thumb,.case-media)::after {
  content:''; position:absolute; right:var(--play-inset,12px); bottom:var(--play-inset,12px);
  width:var(--play-size,32px); height:var(--play-size,32px); z-index:4;
  border:1px solid #ffffff80; border-radius:50%;
  background:#141414b3 url('assets/play-cue.svg') center / 14px 14px no-repeat;
  pointer-events:none;
}
.film-index .film-thumb { --play-size:24px; --play-inset:6px; }
.film-index .film-thumb::after { background-size:12px 12px; }
.is-inline-active :is(.film-frame-trigger,.trecobat-film-preview,.case-film-cover)::after { display:none; }
.method-typing .number-entered .step-index { animation-duration:.2s; }
/* Muted decorative previews never expose the full player's native toolbar. */
.hover-film-video::-webkit-media-controls,
.ambient-film::-webkit-media-controls { display:none!important; }
@media (max-width:700px) {
  .film-index .film-thumb { --play-size:32px; --play-inset:12px; }
  .film-index .film-thumb::after { background-size:14px 14px; }
}
@media print {
  :is(.film-frame-trigger,.trecobat-film-preview,.case-film-cover,.film-thumb,.case-media)::after { display:none; }
}

/* More visible drafting lines, with the existing motion and masks retained. */
body.edition-28 .draft-paper { opacity:.24; }
body.edition-28 .opening .draft-paper { opacity:.17; }
body.edition-28 .project-mds .draft-paper { opacity:.21; }
body.edition-28 .trecobat-six .draft-paper { opacity:.18; }
body.edition-28 .working-together .draft-paper { opacity:.21; }
body.edition-28 .contact .draft-paper { opacity:.22; }

/* A similar opening composition on HD and larger desktop displays. */
@media (min-width:1280px) {
  body.edition-28 {
    --desktop-content:min(1570px,62vw);
    --desktop-gutter:calc((100% - var(--desktop-content)) / 2);
  }
  body.edition-28 :is(.pad,.pad-inline,.header,.opening) {
    padding-left:var(--desktop-gutter); padding-right:var(--desktop-gutter);
  }
  body.edition-28 .architecture-stage h3 { left:var(--desktop-gutter); }
  body.edition-28 .hero-four { padding-top:clamp(20px,3svh,38px); }
  body.edition-28 .hero-audience-24 {
    font-size:clamp(18px,2svh,27px); line-height:1.38;
    margin-bottom:clamp(16px,2.1svh,30px);
  }
  body.edition-28 .opening h1 { font-size:clamp(48px,min(5vw,7.2svh),96px); }
  body.edition-28 .hero-heading-24 { padding-bottom:clamp(18px,2.5svh,34px); }
  body.edition-28 .hero-bottom-24 { padding:8px 0 12px; }
  body.edition-28 .showreel-24 > :is(img,video) { object-fit:contain; }
}

.contact-email-tools { display:flex; flex-wrap:wrap; align-items:center; gap:16px 24px; margin-top:32px; }
body.edition-28 .contact-email-tools .contact-mail { margin-top:0; }
.copy-email { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:9px 13px; border:1px solid currentColor; border-radius:6px; font:500 14px/1.3 Instrument,Arial,sans-serif; }
.copy-email:hover { background:#1414140c; }
.contact-email-tools .contact-feedback { flex-basis:100%; font-size:14px; line-height:1.5; margin:0; }
.contact-feedback:empty { display:none; }
.contact-form-actions { display:flex; gap:12px; flex-wrap:wrap; }
body.edition-28 .contact-form-actions > button { flex:1 1 185px; width:auto; min-height:46px; align-items:center; gap:16px; }
body.edition-28 .contact-form-actions > [data-copy-message] { flex:0 1 auto; background:transparent; color:var(--ink); border:1px solid var(--ink); }
body.edition-28 .contact-compose .form-note { font:14px/1.55 Instrument,Arial,sans-serif!important; }
body.edition-28 #form-status { margin-top:16px; font-size:15px; line-height:1.5; }
.footer-contact { justify-self:center; display:flex; align-items:center; flex-wrap:wrap; gap:10px 18px; }
.footer-contact .copy-email { padding:7px 10px; min-height:36px; border-color:#ffffff50; font-size:11px; }
.footer-contact .copy-email:hover { background:#ffffff12; }
.contact-sr { position:absolute; width:1px; height:1px; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.contact-manual-copy { width:100%; flex-basis:100%; margin-top:12px; }
.contact-manual-copy label { display:block; font-size:13px; margin:0 0 8px; }
.contact-manual-copy textarea { width:100%; min-width:0; border:1px solid currentColor; padding:12px; border-radius:6px; color:inherit; background:transparent; font:16px/1.5 Instrument,Arial,sans-serif; resize:vertical; }
@media (max-width:800px) {
  .footer-contact { grid-column:2; grid-row:1; justify-self:end; align-items:flex-end; flex-direction:column; gap:7px; }
}
@media (max-width:540px) {
  body.edition-28 .opening h1 > .hero-title-handwritten { font-size:clamp(36px,10.2vw,52px); }
  .contact-email-tools { gap:14px; margin-top:28px; }
  .contact-form-actions { flex-direction:column; }
  body.edition-28 .contact-form-actions > button { flex:auto; width:100%; }
}

/* Mobile opening: compact audience, two clear lines, then the full-width reel. */
@media screen and (max-width:1000px) {
  body.edition-28 .hero-four {
    --hero-gutter:clamp(20px,4.8vw,40px);
    padding:20px 0 0;
  }
  body.edition-28 .hero-heading-24 { padding:0 var(--hero-gutter) 24px; }
  body.edition-28 .hero-audience-24 {
    max-width:none; margin-bottom:22px;
    font-size:clamp(12px,3.45vw,22px); line-height:1.4; letter-spacing:0; text-wrap:initial;
  }
  body.edition-28 .hero-audience-24 > span { display:block; }
  body.edition-28 .opening h1 {
    font-size:clamp(32px,11vw,76px); line-height:1.06; letter-spacing:-.045em;
  }
  body.edition-28 .hero-title-group { display:block; }
  body.edition-28 .opening h1 > .hero-title-handwritten {
    margin-top:.12em; font-size:clamp(34px,11.8vw,82px); line-height:1.24;
    white-space:nowrap;
  }
  body.edition-28 .showreel-24,
  body.edition-28 .showreel-24 > :is(img,video) { border-radius:0; }
  body.edition-28 .showreel-24 { width:100%; }
  body.edition-28 .showreel-24 > :is(img,video) { object-fit:contain; }
  body.edition-28 .hero-bottom-24 { padding:8px var(--hero-gutter) 18px; }
}
