:root {
  --tm-paper: #f5f0e6;
  --tm-ink: #1e1b16;
  --tm-muted: #7a6f5f;
  --tm-red: #c22f1b;
  --tm-blue: #2b3a8f;
  --tm-tape: rgba(226, 213, 184, .86);
  --tm-gutter: clamp(20px, 4vw, 70px);
  --tm-serif: Charter, Georgia, serif;
  --tm-sans: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --tm-hand: "Bradley Hand", "Segoe Script", "Comic Sans MS", cursive;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; text-size-adjust: 100%; }
body { margin: 0; min-height: 100svh; overflow-x: clip; background: var(--tm-paper); color: var(--tm-ink); font-family: var(--tm-sans); }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: .2em; }
a:hover { color: var(--tm-red); }
button, input, textarea, select { font: inherit; }
::selection { background: var(--tm-blue); color: var(--tm-paper); }
:focus-visible { outline: 2px solid var(--tm-blue); outline-offset: 4px; }

.skip-link { position: fixed; top: 8px; left: 12px; z-index: 2000; padding: 10px 14px; transform: translateY(-160%); background: var(--tm-ink); color: var(--tm-paper); }
.skip-link:focus { transform: none; }
.tm-site-header { position: relative; z-index: 30; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px var(--tm-gutter) 0; animation: tm-fade-up .9s ease both; }
.tm-site-logo { display: inline-block; transform: rotate(-1deg); }
.tm-logo { width: clamp(84px, 8vw, 120px); margin: -10px 0; }
.tm-nav { display: flex; align-items: center; gap: 28px; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; }
.tm-nav > a, .tm-language-switcher a { text-decoration: none; }
.tm-nav > a[aria-current="page"] { border-bottom: 1px solid currentColor; padding-bottom: 3px; }
.tm-language-switcher { display: flex; gap: 8px; }
.tm-language-switcher a { color: var(--tm-red); }
.tm-language-switcher .is-current { display: none; }

.tm-main { padding: clamp(60px, 8vw, 120px) var(--tm-gutter) clamp(80px, 12vw, 170px); }
.tm-kicker { margin: 0; color: var(--tm-muted); font-size: 12px; letter-spacing: .22em; text-transform: uppercase; }
.tm-handwritten { font-family: var(--tm-hand); font-size: clamp(14px, 1.4vw, 18px); line-height: 1.9; transform: rotate(-1.2deg); }
.tm-blue { color: var(--tm-blue); }
.tm-text-link { display: inline-block; margin-top: 24px; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; }
[data-reveal] { transition: opacity 1s ease, transform 1s ease; }
[data-reveal].tm-awaiting-reveal { opacity: 0; transform: translateY(18px); }

.tm-site-footer { padding: 0 var(--tm-gutter) max(40px, env(safe-area-inset-bottom)); color: var(--tm-muted); }
.tm-footer-logo { display: block; width: fit-content; margin: 0 auto 34px; transform: rotate(-1.4deg); }
.tm-footer-logo .tm-logo { width: clamp(110px, 12vw, 170px); }
.tm-footer-row { display: flex; align-items: baseline; justify-content: space-between; gap: 16px 30px; flex-wrap: wrap; font-size: 12px; }
.tm-footer-row a { text-decoration: none; }

/* Work archive */
.tm-page-intro { max-width: 700px; margin-bottom: clamp(70px, 11vw, 150px); }
.tm-page-intro h1, .tm-page-title { margin: 14px 0 24px; font: 400 clamp(48px, 7vw, 108px)/1 var(--tm-serif); }
.tm-page-intro > p:last-child { max-width: 48ch; color: #51483d; font: italic clamp(18px, 2vw, 26px)/1.55 var(--tm-serif); }
.tm-work-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(70px, 10vw, 150px) clamp(18px, 3vw, 54px); align-items: start; }
.tm-work-card { position: relative; margin: 0; }
.tm-work-card:nth-child(4n+1) { transform: rotate(-.45deg); }
.tm-work-card:nth-child(4n+2) { transform: rotate(.7deg); }
.tm-work-card:nth-child(4n+3) { transform: rotate(-.8deg); }
.tm-work-card:nth-child(4n) { transform: rotate(.4deg); }
.tm-work-card:nth-child(odd)::before { position: absolute; top: -10px; left: clamp(24px, 12%, 64px); z-index: 2; width: 62px; height: 20px; content: ""; background: var(--tm-tape); transform: rotate(-5deg); }
.tm-work-card--small { grid-column: span 3; margin-top: clamp(35px, 6vw, 95px); }
.tm-work-card--medium { grid-column: span 4; }
.tm-work-card--large { grid-column: span 6; }
.tm-work-card--featured { grid-column: span 8; margin-inline: auto; }
.tm-work-card__image { display: block; overflow: hidden; background: #e9e1d1; cursor: zoom-in; }
.tm-work-card__image img { width: 100%; }
.tm-work-card__media { display: grid; grid-template-columns: repeat(var(--tm-media-count, 1), minmax(0, 1fr)); gap: clamp(10px, 1.2vw, 22px); align-items: start; }
.tm-work-card__media--1 { --tm-media-count: 1; }
.tm-work-card__media--2 { --tm-media-count: 2; }
.tm-work-card__media--3 { --tm-media-count: 3; }
.tm-work-card__media--4 { --tm-media-count: 4; }
.tm-work-card__extras { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(8px,1vw,15px); margin-top:clamp(10px,1.2vw,18px); }
.tm-work-card__extras--1 { grid-template-columns:minmax(0,.72fr); }
.tm-work-card__extras--2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.tm-work-card__extras > div { overflow:hidden; background:#e9e1d1; cursor:zoom-in; }
.tm-work-card__extras img { width:100%; height:auto; }
.tm-work-card__caption { margin-top: 14px; }
.tm-work-card__caption h2 { margin: 0; font: italic 20px/1.3 var(--tm-serif); }
.tm-work-card__caption h2 a { text-decoration: none; }
.tm-work-card__caption p, .tm-work-meta { margin: 6px 0 0; color: var(--tm-muted); font-size: 12.5px; line-height: 1.6; }
.tm-work-card__caption .tm-work-card__note { margin-top: 12px; color: var(--tm-muted); font-family: var(--tm-hand); font-size: clamp(13px, 1.2vw, 16px); line-height: 1.8; transform: rotate(-1deg); }

/* Single work */
.tm-single-work { max-width: 1600px; margin: 0 auto; }
.tm-single-work__header { max-width: 900px; margin: 0 auto clamp(45px, 7vw, 90px); text-align: center; }
.tm-single-work__header h1 { margin: 20px 0 14px; font: italic 400 clamp(42px, 6vw, 92px)/1.08 var(--tm-serif); }
.tm-single-work__header a { text-decoration: none; }
.tm-single-work__note { max-width: 36ch; margin: 22px auto 0; color: var(--tm-muted); }
.tm-single-work__hero { width: min(100%, 1180px); margin: 0 auto; cursor: zoom-in; }
.tm-single-work__hero img { width: 100%; max-height: 88svh; object-fit: contain; }
.tm-single-work__copy { width: min(100%, 700px); margin: clamp(50px, 8vw, 100px) auto; }
.tm-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(24px, 4vw, 70px); align-items: start; }
.tm-gallery figure { margin: 0; cursor: zoom-in; }
.tm-gallery figure:nth-child(even) { margin-top: clamp(45px, 7vw, 110px); transform: rotate(.6deg); }

/* Gutenberg content */
.tm-content-page { max-width: 1400px; margin: 0 auto; }
.tm-content-page > article { display: grid; grid-template-columns: minmax(180px, 4fr) minmax(0, 8fr); gap: clamp(45px, 8vw, 140px); align-items: start; }
.tm-content-page .tm-page-title { position: sticky; top: 40px; }
.tm-entry-content { font-size: 16px; line-height: 1.85; }
.tm-entry-content > * { max-width: 760px; }
.tm-entry-content > .alignwide { max-width: 1100px; }
.tm-entry-content > .alignfull { max-width: none; }
.tm-entry-content h2 { margin: 1.8em 0 .7em; font: 400 clamp(27px, 3vw, 44px)/1.2 var(--tm-serif); }
.tm-entry-content p:first-child { font: 400 clamp(20px, 2vw, 28px)/1.5 var(--tm-serif); }
.tm-entry-content img { height: auto; }
.tm-entry-content .wp-block-image { margin-block: 0 42px; transform: rotate(-.35deg); }

/* Contact Form 7 */
.wpcf7-form { display: grid; gap: 32px; max-width: 720px; }
.wpcf7-form p { margin: 0; }
.wpcf7-form label { display: grid; gap: 8px; color: var(--tm-muted); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; }
.wpcf7-form-control-wrap { display: block; }
.wpcf7 input:not([type="submit"]), .wpcf7 textarea { width: 100%; border: 0; border-bottom: 1px solid #c9bda2; border-radius: 0; padding: 10px 0; background: transparent; color: var(--tm-ink); font-size: 16px; outline: 0; }
.wpcf7 textarea { height: 130px; min-height: 130px; max-height: 130px; resize: none; }
.wpcf7 input:focus, .wpcf7 textarea:focus { border-bottom-color: var(--tm-ink); }
.wpcf7 input[type="submit"] { width: fit-content; border: 0; border-bottom: 1px solid currentColor; padding: 4px 0; background: transparent; color: var(--tm-ink); font-size: 13px; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; }
.wpcf7-not-valid-tip { margin-top: 7px; color: var(--tm-red); font-size: 13px; letter-spacing: normal; text-transform: none; }
.wpcf7 form .wpcf7-response-output { margin: 0; border: 0; border-left: 2px solid var(--tm-blue); padding: 10px 14px; font: italic 16px/1.5 var(--tm-serif); }

/* Front page */
.tm-front-page { padding-top: 0; }
.tm-front-hero { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(28px, 4vw, 70px); align-items: end; }
.tm-front-hero__copy { padding-bottom: clamp(35px, 7vw, 100px); }
.tm-front-hero h1 { margin: 0; font: 400 clamp(38px, 4.7vw, 76px)/1.12 var(--tm-serif); }
.tm-front-hero h1 span { display: block; }
.tm-front-hero h1 span + span { margin-left: clamp(20px, 3vw, 60px); color: var(--tm-red); font-style: italic; }
.tm-front-hero .tm-kicker { margin-top: 30px; }
.tm-front-hero .tm-handwritten { max-width: 32ch; margin: clamp(30px, 6vw, 70px) 0 0 8px; color: var(--tm-muted); }
.tm-front-work { position: relative; margin: 0; }
.tm-front-work::before { position: absolute; top: -10px; left: 10%; z-index: 3; width: 68px; height: 21px; content: ""; background: var(--tm-tape); transform: rotate(-5deg); }
.tm-front-work__image { overflow: hidden; cursor: zoom-in; }
.tm-front-work__image img { width: 100%; will-change: transform; }
.tm-front-work figcaption { display: flex; gap: 10px 16px; align-items: baseline; flex-wrap: wrap; margin-top: 14px; }
.tm-front-work figcaption a { font: italic 20px/1.3 var(--tm-serif); text-decoration: none; }
.tm-front-work figcaption span { color: var(--tm-muted); font-size: 12.5px; }
.tm-front-work--hero { margin-right: calc(var(--tm-gutter) * -1); transform: rotate(.35deg); }
.tm-front-work--hero .tm-front-work__image { height: min(86svh, 960px); }
.tm-front-work--hero img, .tm-front-work--tall img, .tm-front-work--wide img { height: 100%; object-fit: cover; }
.tm-front-section { margin-top: clamp(100px, 16vw, 210px); }
.tm-front-section--full .tm-front-work { margin-inline: calc(var(--tm-gutter) * -1); }
.tm-front-section--full .tm-front-work__image { height: min(92svh, 1000px); }
.tm-front-section--full img { height: 100%; object-fit: cover; }
.tm-front-section--full .tm-front-section__copy { padding: 20px 4vw 0; }
.tm-front-section--split { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: clamp(35px, 6vw, 110px); align-items: center; }
.tm-front-section--split h2 { margin: 0; font: 400 clamp(30px, 4vw, 60px)/1.18 var(--tm-serif); }
.tm-front-section--split .tm-front-section__copy p { margin-top: 30px; color: var(--tm-muted); }
.tm-front-work--tall .tm-front-work__image { height: min(86svh, 930px); }
.tm-front-section--reverse { grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); }
.tm-front-work--wide .tm-front-work__image { height: min(78svh, 850px); }
.tm-front-section--paper > .tm-handwritten { max-width: 65ch; margin: 0 0 clamp(40px, 7vw, 90px) 3vw; }
.tm-paper-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(24px, 4vw, 70px); align-items: start; }
.tm-front-work--paper:nth-child(1) { transform: rotate(-1.4deg); }
.tm-front-work--paper:nth-child(2) { transform: rotate(.8deg); }
.tm-front-work--paper:nth-child(3) { transform: rotate(1.2deg); }
.tm-front-work--lower { margin-top: clamp(45px, 8vw, 110px); }
.tm-front-section--statement { width: min(100%, 1180px); margin-inline: auto; }
.tm-front-section--statement > p { margin-left: 8%; color: var(--tm-muted); }
.tm-front-duo { display: grid; grid-template-columns: minmax(0, 5fr) minmax(220px, 3fr) minmax(0, 4fr); gap: clamp(28px, 4vw, 70px); align-items: center; }
.tm-front-duo__copy h2, .tm-front-portraits h2 { margin: 0; font: 400 clamp(28px, 3.2vw, 50px)/1.3 var(--tm-serif); }
.tm-front-duo__copy > p { color: var(--tm-muted); line-height: 1.8; }
.tm-front-work--duo:nth-child(1) { transform: rotate(-.5deg); }
.tm-front-work--duo:nth-child(3) { transform: rotate(.8deg); }
.tm-front-portraits { display: grid; grid-template-columns: minmax(220px, 4fr) minmax(0, 8fr); gap: clamp(35px, 6vw, 110px); align-items: start; }
.tm-front-portraits .tm-kicker { margin-bottom: 18px; }
.tm-front-work--portraits { transform: rotate(.45deg); }
.tm-front-section--origin { align-items: end; }
.tm-front-about { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: clamp(40px, 8vw, 150px); align-items: start; margin-top: clamp(110px, 18vw, 240px); }
.tm-front-about blockquote { margin: 0; font: italic 400 clamp(32px, 4.5vw, 70px)/1.2 var(--tm-serif); }
.tm-front-about > div { padding-top: 20px; line-height: 1.8; }
.tm-front-contact { margin-top: clamp(100px, 16vw, 210px); }
.tm-front-contact > a { display: inline-block; margin-top: 24px; font: italic clamp(48px, 7vw, 106px)/1 var(--tm-serif); text-decoration: none; transform: rotate(-.5deg); }

/* Curated front-page compositions. */
.tm-next-hero { gap: clamp(24px, 3vw, 64px); margin-top: clamp(16px, 3vh, 40px); }
.tm-next-hero .tm-front-hero__copy { position: relative; z-index: 4; padding-bottom: clamp(30px, 6vh, 80px); }
.tm-next-hero .tm-kicker { margin: clamp(24px, 4vh, 40px) 0 0 2px; letter-spacing: .2em; }
.tm-next-hero-art { position: relative; margin: 0; animation: tm-fade-up 1.6s .3s ease both; }
.tm-next-art-frame { position: relative; height: min(90vh, 980px); margin-right: calc(var(--tm-gutter) * -1); overflow: hidden; transform: rotate(.4deg); cursor: zoom-in; }
.tm-next-art-frame img { width: 100%; height: 100%; object-fit: cover; object-position: center 40%; will-change: transform; }
.tm-tape { position: absolute; top: 14px; left: 44px; z-index: 3; width: 74px; height: 22px; background: var(--tm-tape); transform: rotate(-5deg); }
.tm-next-hero-art figcaption { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; margin: 16px 0 0 8px; }
.tm-next-hero-art figcaption em { font: italic 20px/1.3 var(--tm-serif); }
.tm-next-hero-art figcaption span { color: var(--tm-muted); font-size: 12.5px; }
.tm-next-grief { margin-top: clamp(90px, 15vh, 190px); }
.tm-next-grief-detail { position: relative; height: min(96vh, 1050px); margin: 0 calc(var(--tm-gutter) * -1); overflow: hidden; cursor: zoom-in; }
.tm-next-grief-detail img { width: 100%; height: 100%; object-fit: cover; object-position: center 20%; }
.tm-next-grief-detail > p { position: absolute; bottom: 28px; left: clamp(24px, 5vw, 80px); margin: 0; color: var(--tm-paper); text-shadow: 0 1px 8px rgba(30,27,22,.5); }
.tm-next-grief-story { display: grid; grid-template-columns: minmax(0,5fr) minmax(0,6fr); gap: clamp(24px,3vw,64px); align-items: center; margin-top: clamp(50px,8vh,110px); }
.tm-next-grief-woods { transform: rotate(-1deg); cursor: zoom-in; }
.tm-next-grief-woods img { width: 100%; }
.tm-next-grief-woods p { margin: 10px 0 0 6px; color: var(--tm-muted); }
.tm-next-grief-story h2 { max-width: 20ch; margin: 0; font: italic 400 clamp(26px,2.8vw,44px)/1.3 var(--tm-serif); }
.tm-next-grief-story .tm-work-meta { margin-top: 18px; }
.tm-next-love { display: grid; grid-template-columns: minmax(0,4fr) minmax(0,7fr); gap: clamp(24px,3vw,64px); align-items: start; margin-top: clamp(90px,15vh,190px); }
.tm-next-love-copy { position: relative; z-index: 2; margin-top: clamp(40px,8vh,100px); }
.tm-next-love-copy h2 { margin: 0; font: 400 clamp(28px,3.2vw,52px)/1.25 var(--tm-serif); }
.tm-next-love-copy h2 em { color: var(--tm-red); }
.tm-next-love-whole { position: relative; width: min(88%,260px); margin-top: clamp(36px,6vh,70px); transform: rotate(-2.2deg); cursor: zoom-in; }
.tm-next-love-whole .tm-tape { top: -9px; left: 30px; width: 54px; height: 18px; }
.tm-next-love-whole img { width: 100%; }
.tm-next-love-whole p { margin: 9px 0 0 8px; color: var(--tm-muted); }
.tm-next-love-detail { position: relative; cursor: zoom-in; }
.tm-next-love-detail > img { width: calc(100% + var(--tm-gutter)); height: min(88vh,960px); max-width: none; object-fit: cover; object-position: center 30%; transform: rotate(.5deg); }
.tm-next-love-detail p { margin: 12px 0 0; color: var(--tm-muted); }
.tm-next-paper-row { gap: clamp(20px,3vw,56px); }
.tm-next-paper { position: relative; margin: 0; cursor: zoom-in; }
.tm-next-paper:nth-child(1) { margin-top: clamp(40px,7vh,90px); transform: rotate(-1.8deg); }
.tm-next-paper:nth-child(2) { transform: rotate(.9deg); }
.tm-next-paper:nth-child(3) { margin-top: clamp(70px,12vh,150px); transform: rotate(1.6deg); }
.tm-next-paper img, .tm-next-paper-lower img { width: 100%; box-shadow: 0 14px 34px rgba(30,27,22,.12); }
.tm-next-paper .tm-tape { top: -10px; left: 34px; width: 58px; height: 19px; }
.tm-next-paper figcaption { margin: 10px 0 0 8px; color: var(--tm-muted); }
.tm-red { color: var(--tm-red) !important; }
.tm-next-paper-lower { display: grid; grid-template-columns: minmax(0,5fr) minmax(0,4fr) minmax(0,3fr); gap: clamp(20px,3vw,56px); align-items: end; margin-top: clamp(40px,7vh,90px); }
.tm-next-paper-lower > p { max-width: 22ch; margin: 0 0 clamp(20px,4vh,50px); font: italic clamp(22px,2.4vw,38px)/1.4 var(--tm-serif); }
.tm-next-paper-lower > div:nth-child(2) { transform: rotate(-1.2deg); }
.tm-next-paper-lower > div:nth-child(3) { margin-bottom: clamp(30px,6vh,70px); transform: rotate(1.4deg); }
.tm-next-exhibition { position: relative; width: min(88%,300px); margin-top: clamp(30px,5vh,60px); transform: rotate(-1.8deg); cursor: zoom-in; }
.tm-next-exhibition .tm-tape { top: -10px; left: 28px; width: 56px; height: 18px; }
.tm-next-exhibition img { width: 100%; box-shadow: 0 14px 34px rgba(30,27,22,.14); }
.tm-next-exhibition p { margin: 10px 0 0 6px !important; color: var(--tm-muted); line-height: 2.2; }
.tm-scene { display: grid; gap: clamp(24px,3vw,64px); align-items: center; margin-top: clamp(100px,16vh,200px); }
.tm-scene-copy h2 { margin: 0; font: italic 400 clamp(24px,2.8vw,44px)/1.3 var(--tm-serif); }
.tm-scene-copy > p:not(.tm-kicker,.tm-handwritten,.tm-work-meta,.tm-contact-links) { max-width: 34ch; margin: 24px 0 0; color: #4a4237; font-size: 14.5px; line-height: 1.85; }
.tm-scene-copy > .tm-handwritten { margin-top: clamp(30px,5vh,60px); color: var(--tm-muted); }
.tm-scene-art, .tm-scene-crop, .tm-scene figure { margin: 0; }
.tm-scene-art img, .tm-scene-crop > img { width: 100%; }
.tm-scene-body { grid-template-columns: minmax(0,7fr) minmax(0,4fr); align-items: end; }
.tm-scene-body .tm-scene-crop { margin-left: calc(var(--tm-gutter) * -1); }
.tm-scene-body .tm-scene-crop > img { height: min(88vh,960px); object-fit: cover; object-position: 40% center; }
.tm-scene-body .tm-scene-crop > p { margin: 12px 0 0 8px; color: var(--tm-muted); }
.tm-scene-body .tm-scene-copy { padding-bottom: clamp(30px,6vh,80px); }
.tm-scene-body .tm-scene-copy h2 { font-size: clamp(26px,2.8vw,44px); }
.tm-scene-body .tm-scene-copy b { color: var(--tm-red); font-weight: 400; }
.tm-scene-offering { grid-template-columns: minmax(0,3fr) minmax(0,6fr); }
.tm-scene-offering .tm-scene-copy { display: grid; gap: clamp(20px,3vh,36px); }
.tm-scene-offering .tm-scene-copy > * { margin: 0 !important; }
.tm-scene-offering .tm-scene-art { margin-right: calc(var(--tm-gutter) * -1); }
.tm-scene-offering .tm-scene-art > img { height: min(86vh,940px); object-fit: cover; object-position: center 45%; }
.tm-scene-art figcaption, .tm-scene-freak figcaption { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin: 16px 8px 0; }
.tm-scene-art figcaption em, .tm-scene-freak figcaption em { font: italic 20px/1.3 var(--tm-serif); }
.tm-scene-art figcaption span, .tm-scene-freak figcaption span { color: var(--tm-muted); font-size: 12.5px; }
.tm-scene-freak { width: min(92%,1100px); margin: clamp(100px,16vh,200px) auto 0; }
.tm-scene-freak figure { position: relative; margin: 0; transform: rotate(-.3deg); }
.tm-scene-freak img { width: 100%; }
.tm-scene-freak .tm-tape, .tm-scene-world .tm-tape { top: -12px; left: 8%; width: 76px; height: 23px; }
.tm-scene-portraits { margin-top: clamp(100px,16vh,200px); }
.tm-scene-portraits h2 { max-width: 26ch; margin: 0 0 clamp(10px,2vh,20px); font: italic clamp(24px,2.6vw,40px)/1.35 var(--tm-serif); }
.tm-scene-portraits > p { margin: 0 0 clamp(30px,5vh,60px) 4px; color: var(--tm-muted); }
.tm-scene-portraits > div { display: flex; gap: clamp(18px,2.5vw,44px); align-items: flex-start; }
.tm-scene-portraits figure { flex: 1; margin: 0; }
.tm-scene-portraits figure:nth-child(1) { flex: 1.1; transform: rotate(-1.6deg) translateY(clamp(20px,4vh,50px)); }
.tm-scene-portraits figure:nth-child(2) { flex: 1.3; transform: rotate(.8deg); }
.tm-scene-portraits figure:nth-child(3) { transform: rotate(1.8deg) translateY(clamp(34px,6vh,80px)); }
.tm-scene-portraits figure:nth-child(4) { flex: 1.2; transform: rotate(-.9deg) translateY(clamp(10px,2vh,26px)); }
.tm-scene-portraits img { width: 100%; }
.tm-scene-genderless { grid-template-columns: minmax(0,4fr) minmax(0,7fr); margin-top: clamp(110px,18vh,220px); }
.tm-scene-genderless .tm-scene-copy h2 { color: var(--tm-ink); font-style: normal; font-size: clamp(28px,3.2vw,52px); }
.tm-scene-genderless .tm-scene-copy h2 small { display: block; margin-top: 14px; color: var(--tm-muted); font: italic .6em/1.25 var(--tm-serif); }
.tm-scene-genderless .tm-scene-art { margin-right: calc(var(--tm-gutter) * -1); }
.tm-scene-genderless .tm-scene-art img { height: min(92vh,1000px); object-fit: cover; object-position: center 30%; }
.tm-genderless-small { width: min(70%,240px); margin-top: clamp(36px,6vh,70px) !important; transform: rotate(-2deg); }
.tm-genderless-small img { width: 100%; }
.tm-genderless-small figcaption { margin: 9px 0 0 6px; color: var(--tm-muted); }
.tm-scene-mirror { margin-top: clamp(100px,16vh,200px); }
.tm-mirror-grid { display: grid; grid-template-columns: minmax(0,7fr) minmax(0,4fr); gap: clamp(24px,3vw,64px); align-items: end; }
.tm-mirror-grid > div:first-child { margin-left: calc(var(--tm-gutter) * -1); transform: rotate(-.5deg); }
.tm-mirror-grid img { width: 100%; height: min(74vh,820px); object-fit: cover; }
.tm-mirror-grid > div:last-child { padding-bottom: clamp(24px,5vh,60px); }
.tm-mirror-grid h2 { max-width: 18ch; margin: 0; font: italic clamp(24px,2.6vw,40px)/1.35 var(--tm-serif); }
.tm-blue-strip { position: relative; height: clamp(300px,55vh,620px); margin: clamp(60px,10vh,130px) calc(var(--tm-gutter) * -1) 0; overflow: hidden; }
.tm-blue-strip img { width: 100%; height: 100%; object-fit: cover; object-position: center 30%; }
.tm-blue-strip p { position: absolute; right: clamp(24px,5vw,80px); bottom: 24px; color: var(--tm-paper); text-shadow: 0 1px 8px rgba(30,27,22,.5); }
.tm-scene-about { grid-template-columns: minmax(0,6fr) minmax(0,5fr); }
.tm-scene-about > figure img { width: 100%; }
.tm-scene-about > figure figcaption { margin: 12px 0 0 8px; color: var(--tm-muted); }
.tm-scene-about .tm-scene-copy h2 { max-width: 20ch; font-style: normal; font-size: clamp(26px,3vw,48px); }
.tm-scene-about .tm-scene-copy h2 em { color: var(--tm-red); }
.tm-about-small { width: min(56%,210px); margin-top: clamp(36px,6vh,70px) !important; transform: rotate(2deg); }
.tm-about-small img { width: 100%; }
.tm-about-small figcaption { margin-top: 9px; color: var(--tm-muted); }
.tm-scene-world { position: relative; margin-top: clamp(110px,18vh,220px); }
.tm-scene-world > figure:first-child { position: relative; width: min(78%,820px); margin: 0 auto 0 clamp(20px,6vw,120px); transform: rotate(-.8deg); }
.tm-scene-world img { width: 100%; box-shadow: 0 18px 44px rgba(30,27,22,.12); }
.tm-scene-world figcaption { margin: 14px 0 0 4px; color: var(--tm-muted); }
.tm-world-small { position: absolute; right: clamp(-10px,1vw,40px); bottom: clamp(-50px,-3vh,-20px); z-index: 2; width: min(30%,300px); transform: rotate(2deg); }
.tm-world-small figcaption { text-align: right; }
.tm-scene-drawings { margin-top: clamp(110px,18vh,220px); }
.tm-drawing-grid { display: grid; grid-template-columns: minmax(0,5fr) minmax(0,4fr) minmax(0,4fr); gap: clamp(20px,3vw,56px); align-items: start; }
.tm-drawing-grid h2 { max-width: 18ch; margin: 0 0 clamp(30px,5vh,60px); font: italic clamp(24px,2.6vw,40px)/1.35 var(--tm-serif); }
.tm-drawing-grid figure, .tm-chalk { position: relative; margin: 0; }
.tm-drawing-grid > figure:nth-child(2) { margin-top: clamp(60px,10vh,130px); transform: rotate(1deg); }
.tm-drawing-grid > figure:nth-child(3) { margin-top: clamp(20px,4vh,50px); transform: rotate(-.8deg); }
.tm-drawing-grid img, .tm-chalk img { width: 100%; box-shadow: 0 14px 34px rgba(30,27,22,.12); }
.tm-drawing-grid figcaption, .tm-chalk figcaption { margin: 10px 0 0 6px; }
.tm-chalk { width: min(84%,900px); margin: clamp(60px,10vh,130px) 0 0 auto; transform: rotate(.5deg); }
.tm-scene-origin { grid-template-columns: minmax(0,4fr) minmax(0,7fr); margin-top: clamp(110px,18vh,220px); }
.tm-scene-origin .tm-scene-copy h2 { margin-top: 20px; font-size: clamp(28px,3.2vw,52px); }
.tm-scene-origin .tm-scene-art { margin-right: calc(var(--tm-gutter) * -1); }
.tm-scene-origin .tm-scene-art img { height: min(88vh,960px); object-fit: cover; object-position: center 25%; }
.tm-scene-contact { grid-template-columns: minmax(0,7fr) minmax(0,4fr); margin-top: clamp(110px,18vh,220px); }
.tm-scene-contact .tm-scene-copy > a { display: inline-block; margin-top: 22px; font: italic clamp(36px,5vw,78px)/1.05 var(--tm-serif); text-decoration: none; transform: rotate(-.6deg); }
.tm-contact-links { display: flex; gap: 30px; margin-top: 30px; }
.tm-contact-links a { border-bottom: 1px solid #c4b89f; padding-bottom: 2px; font-size: 14px; text-decoration: none; }
.tm-contact-art { position: relative; justify-self: end; width: min(100%,340px); transform: rotate(1.4deg); }
.tm-contact-art img { width: 100%; }
.tm-contact-art figcaption { margin-top: 14px; color: var(--tm-muted); line-height: 2.2; }

/* Three newest works: individual compositions, backed by editable WP works. */
.tm-new-works { margin-top: clamp(110px, 18vh, 220px); }
.tm-new-waste { display: grid; grid-template-columns: minmax(180px, 3fr) minmax(0, 5fr) minmax(160px, 3fr); gap: clamp(22px, 3vw, 58px); align-items: center; }
.tm-new-waste--single { grid-template-columns: minmax(220px, 4fr) minmax(0, 7fr); }
.tm-new-waste__copy { align-self: start; padding-top: clamp(30px, 7vh, 90px); }
.tm-new-waste__copy h2, .tm-new-feeling__copy h2, .tm-new-cats__heading h2 { margin: 16px 0 0; font: italic 400 clamp(28px, 3.2vw, 52px)/1.22 var(--tm-serif); }
.tm-new-waste__copy .tm-work-meta, .tm-new-feeling__copy .tm-work-meta { margin-top: 20px; }
.tm-new-waste figure, .tm-new-feeling figure, .tm-new-cats figure { position: relative; margin: 0; cursor: zoom-in; }
.tm-new-waste__primary { transform: rotate(-.6deg); }
.tm-new-waste__primary img { width: 100%; max-height: 82svh; object-fit: contain; box-shadow: 0 18px 44px rgba(30,27,22,.12); }
.tm-new-waste__primary .tm-tape { top: -10px; left: 13%; }
.tm-new-waste__context { align-self: end; margin-bottom: clamp(30px, 8vh, 110px) !important; transform: rotate(1.8deg); }
.tm-new-waste__context img { width: 100%; box-shadow: 0 14px 34px rgba(30,27,22,.13); }
.tm-new-waste__context figcaption { margin: 10px 0 0 5px; color: var(--tm-muted); }

.tm-new-feeling { display: grid; grid-template-columns: minmax(220px, 4fr) minmax(0, 7fr); gap: clamp(32px, 6vw, 120px); align-items: center; margin-top: clamp(110px, 19vh, 230px); }
.tm-new-feeling__copy h2 { max-width: 14ch; }
.tm-new-feeling__copy .tm-work-meta { max-width: 36ch; line-height: 1.8; }
.tm-new-feeling__art { margin-right: calc(var(--tm-gutter) * -1) !important; transform: rotate(.35deg); }
.tm-new-feeling__image { position: relative; width: fit-content; max-width: 100%; margin-left: auto; }
.tm-new-feeling__art img { display: block; width: auto; max-width: 100%; max-height: 94svh; object-fit: contain; filter: drop-shadow(0 18px 36px rgba(30,27,22,.1)); }
.tm-new-feeling__image .tm-tape { top: -10px; left: 12%; }

.tm-new-cats { margin-top: clamp(110px, 19vh, 230px); }
.tm-new-cats__heading { display: flex; align-items: end; justify-content: space-between; gap: 24px 60px; margin-bottom: clamp(45px, 8vh, 100px); }
.tm-new-cats__heading h2 { font-size: clamp(32px, 4vw, 64px); }
.tm-new-cats__heading > .tm-work-meta { max-width: 32ch; text-align: right; }
.tm-new-cats__row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(22px, 4vw, 74px); align-items: start; }
.tm-new-cats__row--1 { grid-template-columns: minmax(0, 7fr); width: min(72%, 900px); margin-left: auto; }
.tm-new-cats__row--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); width: min(86%, 1200px); margin-inline: auto; }
.tm-new-cats__row figure:nth-child(1) { margin-top: clamp(30px, 7vh, 90px); transform: rotate(-1.6deg); }
.tm-new-cats__row figure:nth-child(2) { transform: rotate(.7deg); }
.tm-new-cats__row figure:nth-child(3) { margin-top: clamp(55px, 11vh, 140px); transform: rotate(1.4deg); }
.tm-new-cats__row img { width: 100%; box-shadow: 0 16px 40px rgba(30,27,22,.12); }
.tm-new-cats__row .tm-tape { top: -10px; left: 12%; width: 60px; height: 19px; }
.tm-new-cats__row figure:nth-child(2) .tm-tape { right: 10%; left: auto; transform: rotate(5deg); }

/* Lightbox and controls */
.tm-lightbox { position: fixed; inset: 0; z-index: 1000; display: none; place-items: center; padding: 22px; background: rgba(20, 18, 15, .95); }
.tm-lightbox[aria-hidden="false"] { display: grid; animation: tm-lightbox-in .18s ease-out both; }
.tm-lightbox figure { display: grid; gap: 10px; justify-items: center; max-width: 100%; max-height: 100%; margin: 0; }
.tm-lightbox img { width: auto; max-width: min(94vw, 1800px); max-height: calc(100dvh - 90px); object-fit: contain; }
.tm-lightbox figcaption { max-width: 70ch; color: var(--tm-paper); font-size: 13px; text-align: center; }
.tm-lightbox__close { position: fixed; top: max(14px, env(safe-area-inset-top)); right: max(14px, env(safe-area-inset-right)); z-index: 2; display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; padding: 0; border: 1px solid rgba(245, 240, 230, .45); border-radius: 50%; background: var(--tm-ink); color: var(--tm-paper); cursor: pointer; }
.tm-lightbox__close span { position: relative; display: block; width: 19px; height: 19px; }
.tm-lightbox__close span::before, .tm-lightbox__close span::after { position: absolute; top: 50%; left: 50%; width: 22px; height: 2px; border-radius: 2px; content: ""; background: currentColor; transform-origin: center; }
.tm-lightbox__close span::before { transform: translate(-50%, -50%) rotate(45deg); }
.tm-lightbox__close span::after { transform: translate(-50%, -50%) rotate(-45deg); }
.tm-to-top { position: fixed; right: 20px; bottom: 20px; z-index: 60; width: 46px; height: 46px; border: 0; border-radius: 50%; opacity: 0; pointer-events: none; background: var(--tm-ink); color: var(--tm-paper); box-shadow: 0 10px 24px rgba(30,27,22,.28); cursor: pointer; transition: opacity .3s ease; }
.tm-to-top.is-visible { opacity: 1; pointer-events: auto; }
.tm-error-page { min-height: 70svh; }
.tm-error-page h1 { font: 400 clamp(50px, 8vw, 120px)/1 var(--tm-serif); }

/* About and Contact layouts */
.tm-exact-main { padding: clamp(60px, 9vw, 140px) var(--tm-gutter) 120px; animation: tm-fade-up .9s ease both; }
.tm-exact-stack { display: grid; align-items: start; }
.tm-about-grid { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(48px, 7vw, 120px); }
.about-portrait { position: relative; width: 100%; height: clamp(420px, 60svh, 620px); margin-bottom: clamp(36px, 5vw, 70px); }
.about-portrait-main { position: relative; z-index: 1; width: 100%; height: 100%; overflow: hidden; transform: rotate(-.35deg); cursor: zoom-in; }
.about-portrait-main img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.about-portrait-overlap { position: absolute; right: clamp(-24px, -2vw, -8px); bottom: clamp(-62px, -5vw, -30px); z-index: 2; width: clamp(120px, 30%, 190px); transform: rotate(2.4deg); cursor: zoom-in; }
.about-portrait-overlap > span { position: absolute; top: -9px; left: 24px; z-index: 3; width: 54px; height: 18px; background: var(--tm-tape); transform: rotate(-5deg); }
.about-portrait-overlap img { width: 100%; box-shadow: 0 16px 38px rgba(30,27,22,.16); }
.about-copy h1, .tm-contact-copy h1 { margin: 0 0 clamp(36px, 4vw, 60px); font: 400 clamp(44px, 5vw, 84px)/1.02 var(--tm-serif); }
.about-copy-content { display: grid; gap: 22px; max-width: 58ch; color: #453b2e; font-size: 16px; line-height: 1.85; }
.about-copy-content > * { margin: 0; }
.about-copy-content > p:first-child { color: #221b13; font: 400 clamp(20px, 1.8vw, 25px)/1.5 var(--tm-serif); }
.tm-exact-page-link { display: inline-block; margin-top: 48px; border-bottom: 1px solid currentColor; padding-bottom: 3px; font-size: 13px; letter-spacing: .14em; text-decoration: none; text-transform: uppercase; }
.tm-contact-grid { grid-template-columns: minmax(0, 5fr) minmax(0, 5fr); gap: clamp(48px, 8vw, 140px); max-width: 1200px; }
.tm-contact-copy h1 { margin-bottom: 36px; font-size: clamp(44px, 5.5vw, 92px); }
.tm-contact-text { max-width: 38ch; color: #453b2e; font-size: 16px; line-height: 1.8; }
.tm-contact-text > p:first-child { margin: 0 0 52px; }
.tm-contact-text > p:last-child { display: grid; gap: 14px; margin: 0; }
.tm-contact-text > p:last-child br { display: none; }
.tm-contact-text > p:last-child a { color: #221b13; font: 400 clamp(20px, 2vw, 27px)/1.3 var(--tm-serif); text-decoration: none; }
.tm-contact-form { padding-top: clamp(10px, 2vw, 26px); }
.tm-contact-form .wpcf7-form { display: block; }
.tm-contact-form .wpcf7-form label { margin-bottom: 52px; }
.tm-contact-form .wpcf7-form input[type="submit"] { margin-top: 4px; }

/* Works composition */
.tm-exact-works { padding: 0 var(--tm-gutter) 40px; }
.tm-exact-works-title { margin-top: clamp(40px, 8vh, 90px); animation: tm-fade-up 1.2s .1s ease both; }
.tm-exact-works-title h1 { margin: 0; font: 400 clamp(52px, 8vw, 130px)/.95 var(--tm-serif); letter-spacing: -.005em; }
.tm-exact-works-title .tm-handwritten { margin: clamp(8px, 1.2vw, 16px) 0 0 clamp(4px, 1vw, 14px); color: var(--tm-muted); font-size: 16px; line-height: 1.6; }
.tm-exact-works-title > p:last-child { max-width: 34ch; margin: clamp(20px, 3vh, 34px) 0 0; color: #4a4237; font: italic clamp(17px, 1.7vw, 24px)/1.6 var(--tm-serif); transform: rotate(-.3deg); }
.tm-exact-work-section { margin-top: clamp(70px, 12vh, 150px); }
.tm-exact-section-label { margin: 0 0 clamp(36px, 6vh, 70px); color: var(--tm-muted); font-size: 12px; letter-spacing: .3em; text-transform: uppercase; }
.tm-exact-work-grid { display:flex; flex-wrap:wrap; align-items:flex-start; justify-content:flex-start; column-gap:clamp(20px,3vw,52px); row-gap:clamp(52px,7vh,96px); }
.tm-exact-work-grid .tm-work-card { margin: 0; }
.tm-exact-work-grid .tm-work-card:nth-child(1) { grid-column: 1 / span 6; transform: rotate(-.5deg); }
.tm-exact-work-grid .tm-work-card:nth-child(2) { grid-column: 8 / span 5; margin-top: clamp(60px, 9vh, 130px); transform: rotate(.8deg); }
.tm-exact-work-grid .tm-work-card:nth-child(3) { grid-column: 1 / span 4; transform: rotate(-1.2deg); }
.tm-exact-work-grid .tm-work-card:nth-child(4) { grid-column: 6 / span 7; margin-top: clamp(30px, 5vh, 70px); transform: rotate(.4deg); }
.tm-exact-work-grid .tm-work-card:nth-child(5) { grid-column: 1 / span 5; transform: rotate(.6deg); }
.tm-exact-work-grid .tm-work-card:nth-child(6) { grid-column: 2 / span 5; transform: rotate(.9deg); }
.tm-exact-work-grid .tm-work-card:nth-child(7) { grid-column: 8 / span 5; margin-top: clamp(50px, 8vh, 110px); transform: rotate(-.7deg); }
.tm-exact-work-grid .tm-work-card:nth-child(8) { grid-column: 1 / span 6; transform: rotate(-.4deg); }
.tm-exact-work-grid .tm-work-card:nth-child(9) { grid-column: 8 / span 4; margin-top: clamp(70px, 10vh, 140px); transform: rotate(1.3deg); }
.tm-exact-work-grid .tm-work-card:nth-child(10) { grid-column: 2 / span 7; transform: rotate(-.6deg); }
.tm-exact-work-grid .tm-work-card:nth-child(11) { grid-column: 10 / span 3; margin-top: clamp(60px, 9vh, 130px); transform: rotate(1.6deg); }
.tm-exact-work-grid .tm-work-card:nth-child(12) { grid-column: 1 / span 4; transform: rotate(.7deg); }
.tm-exact-work-grid .tm-work-card:nth-child(13) { grid-column: 6 / span 4; margin-top: clamp(40px, 6vh, 90px); transform: rotate(-1.1deg); }
.tm-exact-work-grid .tm-work-card:nth-child(14) { grid-column: 10 / span 3; transform: rotate(.9deg); }
.tm-exact-work-grid .tm-work-card:nth-child(15) { grid-column: 2 / span 5; transform: rotate(-.8deg); }
.tm-exact-work-grid .tm-work-card:nth-child(16) { grid-column: 8 / span 4; margin-top: clamp(50px, 8vh, 110px); transform: rotate(1.1deg); }
.tm-exact-work-grid .tm-work-card:nth-child(17) { grid-column: 1 / span 5; transform: rotate(.5deg); }
.tm-exact-work-grid .tm-work-card:nth-child(18) { grid-column: 7 / span 5; margin-top: clamp(40px, 6vh, 90px); transform: rotate(-.9deg); }
/* The selected layout size owns the width. nth-child only supplies the
   organic rotation/vertical rhythm and must never override this choice. */
.tm-exact-work-grid .tm-work-card.tm-work-card--small,
.tm-exact-paper-grid .tm-work-card.tm-work-card--small { grid-column:auto / span 3; flex:0 1 calc(25% - clamp(12px,1.9vw,33px)); width:calc(25% - clamp(12px,1.9vw,33px)); }
.tm-exact-work-grid .tm-work-card.tm-work-card--medium,
.tm-exact-paper-grid .tm-work-card.tm-work-card--medium { grid-column:auto / span 4; flex:1 1 calc(33.333% - clamp(11px,1.7vw,29px)); width:auto; }
.tm-exact-work-grid .tm-work-card.tm-work-card--large,
.tm-exact-paper-grid .tm-work-card.tm-work-card--large { grid-column:auto / span 6; flex:1 1 calc(50% - clamp(8px,1.25vw,22px)); width:auto; }
.tm-exact-work-grid .tm-work-card.tm-work-card--featured,
.tm-exact-paper-grid .tm-work-card.tm-work-card--featured { grid-column:auto / span 8; flex:1 1 66.667%; width:auto; margin-inline:0; }
.tm-exact-work-grid .tm-work-card--media-2,
.tm-exact-paper-grid .tm-work-card--media-2 { flex-basis:48%; }
.tm-exact-work-grid .tm-work-card--media-3,
.tm-exact-work-grid .tm-work-card--media-4,
.tm-exact-paper-grid .tm-work-card--media-3,
.tm-exact-paper-grid .tm-work-card--media-4 { flex-basis:66%; }
.tm-exact-work-grid .tm-work-card__image img,
.tm-exact-paper-grid .tm-work-card__image img { width: 100%; height: auto; object-fit: contain; }
.tm-exact-section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.tm-category-note { max-width: 46ch; margin: 0 0 clamp(30px, 5vh, 60px); color: var(--tm-muted); }
.tm-exact-section-heading .tm-category-note { margin-left: auto; }
.tm-exact-paper-grid { display:flex; flex-wrap:wrap; align-items:flex-start; justify-content:flex-start; column-gap:clamp(20px,3vw,52px); row-gap:clamp(48px,7vh,90px); }
.tm-exact-paper-grid .tm-work-card { grid-column: span 3; margin: 0; }
.tm-exact-paper-grid .tm-work-card:nth-child(2), .tm-exact-paper-grid .tm-work-card:nth-child(4), .tm-exact-paper-grid .tm-work-card:nth-child(6) { margin-top: clamp(35px, 6vh, 90px); }
.tm-exact-portrait-intro { max-width: 28ch; margin: 0 0 clamp(36px, 6vh, 70px); font: italic clamp(22px, 2.4vw, 36px)/1.35 var(--tm-serif); }
.tm-exact-portrait-row { display: flex; flex-wrap: wrap; align-items: flex-start; gap: clamp(18px, 2.5vw, 44px); }
.tm-exact-portrait-row > div { flex: 1 1 calc(25% - 44px); min-width: 180px; cursor: zoom-in; }
.tm-exact-portrait-row > div:nth-child(1) { transform: rotate(-1.6deg) translateY(clamp(20px, 4vh, 50px)); }
.tm-exact-portrait-row > div:nth-child(2) { transform: rotate(.8deg); }
.tm-exact-portrait-row > div:nth-child(3) { transform: rotate(1.8deg) translateY(clamp(34px, 6vh, 80px)); }
.tm-exact-portrait-row > div:nth-child(4) { transform: rotate(-.9deg) translateY(clamp(10px, 2vh, 26px)); }
.tm-exact-portrait-row > .tm-exact-portrait-added { margin-top: clamp(45px, 7vh, 90px); transform: rotate(.7deg); }
.tm-exact-portrait-row > .tm-exact-portrait-added:nth-child(even) { transform: rotate(-.8deg); }
.tm-exact-portraits > .tm-category-note { margin: 0 0 clamp(36px, 6vh, 70px); color: var(--tm-muted); }
.tm-exact-works-contact { margin-top: clamp(100px, 16vh, 200px); }
.tm-exact-works-contact .tm-exact-section-label { margin-bottom: 22px; }
.tm-exact-works-contact > a { display: inline-block; font: italic clamp(36px, 5vw, 78px)/1.05 var(--tm-serif); text-decoration: none; transform: rotate(-.6deg); }

@media (max-width: 700px) {
	.tm-contact-form .wpcf7-form label { margin-bottom: 38px; }
  .tm-about-grid, .tm-contact-grid { grid-template-columns: 1fr; }
  .about-portrait { height: min(68svh, 540px); margin-bottom: 70px; }
  .about-portrait-overlap { right: 8px; bottom: -52px; width: clamp(118px, 34vw, 160px); }
  .tm-exact-work-grid, .tm-exact-paper-grid { grid-template-columns: 1fr; }
	.tm-exact-work-grid .tm-work-card, .tm-exact-paper-grid .tm-work-card { grid-column:auto !important; flex:0 0 100% !important; width:100% !important; margin-top:0 !important; }
	.tm-work-card__media { grid-template-columns: repeat(var(--tm-media-count, 1), minmax(0, 1fr)); gap: 10px; }
  .tm-exact-portrait-row { flex-wrap: wrap; }
  .tm-exact-portrait-row > div { flex: 1 1 42%; }
}

@keyframes tm-fade-up { from { opacity: 0; transform: translateY(16px); } }
@keyframes tm-lightbox-in { from { opacity: 0; } }

@media (max-width: 980px) {
  .tm-work-card--small { grid-column: span 4; }
  .tm-work-card--medium { grid-column: span 5; }
  .tm-work-card--large { grid-column: span 7; }
  .tm-work-card--featured { grid-column: span 10; }
  .tm-front-about { grid-template-columns: 1fr 1fr; }
  .tm-exact-work-grid .tm-work-card.tm-work-card--small,
  .tm-exact-paper-grid .tm-work-card.tm-work-card--small { grid-column: auto / span 4; }
  .tm-exact-work-grid .tm-work-card.tm-work-card--medium,
  .tm-exact-paper-grid .tm-work-card.tm-work-card--medium { grid-column: auto / span 5; }
  .tm-exact-work-grid .tm-work-card.tm-work-card--large,
  .tm-exact-paper-grid .tm-work-card.tm-work-card--large { grid-column: auto / span 7; }
  .tm-exact-work-grid .tm-work-card.tm-work-card--featured,
  .tm-exact-paper-grid .tm-work-card.tm-work-card--featured { grid-column: auto / span 10; }
}

@media (max-width: 700px) {
  .tm-site-header { flex-wrap: wrap; padding-top: max(18px, env(safe-area-inset-top)); }
  .tm-site-logo { margin-inline: auto; }
  .tm-nav { width: 100%; justify-content: space-between; gap: 4px 12px; }
  .tm-nav > a, .tm-language-switcher a { display: inline-flex; align-items: center; min-height: 44px; padding-block: 8px; }
  .tm-main { padding-inline: 20px; }
  .tm-work-grid { grid-template-columns: 1fr; gap: 82px; }
  .tm-work-card, .tm-work-card--small, .tm-work-card--medium, .tm-work-card--large, .tm-work-card--featured { grid-column: auto; width: 100%; margin: 0; transform: none; }
  .tm-work-card:nth-child(3n+1) { transform: rotate(-.35deg); }
  .tm-work-card:nth-child(3n+2) { transform: rotate(.4deg); }
  .tm-work-card__image img { width: 100%; max-height: 78svh; object-fit: contain; }
  .tm-content-page > article { grid-template-columns: 1fr; gap: 25px; }
  .tm-content-page .tm-page-title { position: static; }
  .tm-gallery { grid-template-columns: 1fr; }
  .tm-gallery figure:nth-child(even) { margin-top: 0; }
  .tm-front-hero, .tm-front-section--split, .tm-front-section--reverse, .tm-front-about, .tm-front-duo, .tm-front-portraits { grid-template-columns: 1fr; }
  .tm-front-hero__copy { padding-bottom: 0; }
  .tm-front-work--hero, .tm-front-section--full .tm-front-work { margin-inline: 0; }
  .tm-front-work--hero .tm-front-work__image, .tm-front-section--full .tm-front-work__image, .tm-front-work--tall .tm-front-work__image, .tm-front-work--wide .tm-front-work__image { height: auto; max-height: none; }
  .tm-front-work--hero img, .tm-front-section--full img, .tm-front-work--tall img, .tm-front-work--wide img { height: auto; max-height: 78svh; object-fit: contain; }
  .tm-front-section--split .tm-front-section__copy { order: -1; }
  .tm-paper-row { grid-template-columns: 1fr; gap: 60px; }
  .tm-front-work--paper { width: 88%; margin-inline: auto; }
  .tm-front-work--lower { margin-top: 0; }
	.tm-next-hero, .tm-next-grief-story, .tm-next-love, .tm-next-paper-lower, .tm-scene, .tm-scene-body, .tm-scene-offering, .tm-scene-genderless, .tm-scene-about, .tm-scene-origin, .tm-scene-contact, .tm-mirror-grid, .tm-drawing-grid { grid-template-columns: 1fr; }
	.tm-next-hero .tm-front-hero__copy { padding-bottom: 0; }
	.tm-next-art-frame { height: auto; margin-right: 0; }
	.tm-next-art-frame img, .tm-next-love-detail > img { width: 100%; height: auto; max-height: 78svh; object-fit: contain; }
	.tm-next-paper-row { grid-template-columns: 1fr; gap: 60px; }
	.tm-next-paper, .tm-next-paper:nth-child(n) { width: 88%; margin: 0 auto; }
	.tm-scene-body .tm-scene-crop, .tm-scene-offering .tm-scene-art, .tm-scene-genderless .tm-scene-art, .tm-mirror-grid > div:first-child, .tm-scene-origin .tm-scene-art { margin-inline: 0; }
	.tm-scene-body .tm-scene-crop > img, .tm-scene-offering .tm-scene-art > img, .tm-scene-genderless .tm-scene-art img, .tm-mirror-grid img, .tm-scene-origin .tm-scene-art img { height: auto; max-height: 78svh; object-fit: contain; }
	.tm-scene-body .tm-scene-copy, .tm-mirror-grid > div:last-child { padding-bottom: 0; }
	.tm-scene-offering .tm-scene-copy, .tm-scene-genderless .tm-scene-copy, .tm-scene-origin .tm-scene-copy { order: -1; }
	.tm-scene-portraits > div { flex-wrap: wrap; }
	.tm-scene-portraits figure, .tm-scene-portraits figure:nth-child(n) { flex: 1 1 42%; }
	.tm-blue-strip { height: min(52svh,420px); margin-inline: -20px; }
	.tm-scene-about > figure { order: 1; }
	.tm-world-small { position: relative; right: auto; bottom: auto; width: 52%; margin: 50px 0 0 auto; }
	.tm-scene-world > figure:first-child, .tm-chalk { width: 100%; margin-inline: 0; }
	.tm-drawing-grid { gap: 60px; }
	.tm-drawing-grid > figure:nth-child(n) { width: 88%; margin: 0 auto; }
	.tm-contact-art { justify-self: start; width: min(82%,340px); margin-top: 45px; }
	.tm-new-works { margin-top: 100px; }
	.tm-new-waste, .tm-new-feeling { grid-template-columns: 1fr; }
	.tm-new-waste__copy, .tm-new-feeling__copy { padding-top: 0; }
	.tm-new-waste__primary { width: 88%; margin-left: auto !important; }
	.tm-new-waste__context { width: 58%; margin: 36px 0 0 !important; }
	.tm-new-feeling { margin-top: 120px; }
	.tm-new-feeling__copy { order: -1; }
	.tm-new-feeling__copy h2 { max-width: 18ch; }
	.tm-new-feeling__art { margin-right: 0 !important; }
	.tm-new-feeling__art img { max-height: 78svh; }
	.tm-new-cats { margin-top: 120px; }
	.tm-new-cats__heading { display: block; margin-bottom: 52px; }
	.tm-new-cats__heading > .tm-work-meta { margin-top: 18px; text-align: left; }
	.tm-new-cats__row { grid-template-columns: 1fr; gap: 52px; }
	.tm-new-cats__row figure:nth-child(n) { width: 88%; margin: 0 auto !important; }
	.tm-new-cats__row figure:nth-child(2) { width: 94%; }
	.tm-front-duo__copy { order: -1; }
  [data-parallax] { transform: none !important; will-change: auto !important; }
  .tm-footer-row { justify-content: center; text-align: center; }
  .tm-to-top { right: max(16px, env(safe-area-inset-right)); bottom: max(16px, env(safe-area-inset-bottom)); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  [data-reveal] { opacity: 1 !important; transform: none !important; }
  [data-parallax] { transform: none !important; will-change: auto !important; }
}
