/* A single editorial sequence: promise, services, field work, process, invitation.
   Only the opening and the close use the serif. Existing media and demos stay intact. */
.journey-statement {
 min-height: min(860px, 88svh); padding: clamp(155px, 19svh, 220px) var(--gutter) 52px;
 align-items: stretch; justify-content: space-between; text-align: left; gap: 40px;
 background: #fcfbf8;
}
.intro-masthead { display:flex;justify-content:space-between;align-items:baseline;gap:24px;position:relative;z-index:1 }
.intro-location,.intro-reach { font-size:14px;line-height:1.5;color:#666357;margin:0 }
.intro-location {color:var(--ink)}
.journey-statement h1 { width:100%;max-width:none;font-size:clamp(52px,7.45vw,148px);line-height:1.08;letter-spacing:-.06em;margin:0;padding:0 }
.journey-statement h1 br {display:none}
.journey-statement h1 em {display:block;text-align:right;margin-top:.06em;letter-spacing:-.035em}
.intro-bottom {display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:35px;border-top:1px solid #d5cfc1;padding-top:26px;position:relative;z-index:1}
.intro-purpose {font-size:17px;line-height:1.65;margin:0;max-width:44ch}
.intro-actions {display:flex;flex-direction:column;align-items:stretch;flex:none}
.intro-contact {max-width:100%;min-height:56px;font-size:16px;gap:60px;padding:15px 22px}
.intro-film {margin:8px 0 0;justify-content:space-between;font-size:13px;padding:10px 0;min-height:44px}
/* One primary invitation. The navigation remains a quiet, persistent way in. */
.navigation.open-horizon .h-contact {background:transparent;color:var(--h-ink);padding:0;gap:16px;font-size:14px}
.navigation.open-horizon .h-contact:hover {background:transparent;color:var(--copper)}
.navigation.open-horizon[data-tone=ink] .h-contact:hover {color:#fffaf4}
.navigation.open-horizon .h-contact::after {display:block;bottom:5px;opacity:.28}
.intro-composition {position:relative;padding-bottom:30px}
.journey-statement .intro-composition h1 {font-size:clamp(52px,7.65vw,150px);line-height:1.05}
.journey-statement .intro-composition h1 em {position:relative;width:82%;margin:.36em 0 0 auto;padding:.2em .28em .3em;text-align:center;font-size:.87em;line-height:1.14;letter-spacing:-.03em}
.intro-route {position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:0;fill:none;stroke-linecap:round;stroke-linejoin:round}
.intro-route path {vector-effect:non-scaling-stroke;stroke-width:1}
.intro-route-line {stroke:#ae7153;opacity:.5}
.intro-route-light {stroke:#a34d33;stroke-width:1.8!important;opacity:0}
.intro-route-origin {fill:#a34d33;stroke:none}
.intro-bottom {border-top:0;padding-top:0}
.intro-contact {min-width:245px;transition:background .25s}
.intro-contact .pnz-icon {transition:transform .3s}
.intro-contact:hover .pnz-icon {transform:translate(2px,-2px)}
@media(max-width:700px) {
 .journey-statement .intro-composition h1 {font-size:clamp(44px,11.5vw,78px);line-height:1.06}
 .journey-statement .intro-composition h1 em {width:93%;max-width:none;font-size:.97em;text-align:left;margin:.7em 0 0 auto;padding:.18em .13em .38em}
 .intro-composition {padding-bottom:24px}
 .navigation.open-horizon .h-contact {font-size:14px;padding:0;gap:12px}
 .intro-contact {min-width:0}
}
@media(prefers-reduced-motion:reduce) {.intro-contact .pnz-icon {transition:none}.intro-contact:hover .pnz-icon {transform:none}}
/* Each section has its own weight. Photographs arrive before technical explanation. */
.services-intro {margin:0 0 38px;align-items:end}
.services-intro h2 {font-size:clamp(40px,4.2vw,66px);max-width:12ch}
.services-intro>p {font-size:16px;line-height:1.65;max-width:31ch}
.services-section {padding-bottom:75px}
.services-layout {grid-template-columns:1.16fr 1fr;gap:7%}
.service-list summary {padding:18px 0}
.service-list summary strong {font-size:clamp(23px,2.25vw,34px);font-weight:400}
.service-description>p {font-size:16px;line-height:1.65}
.service-image figcaption {padding-bottom:12px;border-bottom:1px solid var(--line)}
.fieldwork {padding-top:65px;border-top:1px solid var(--line);background:#f2efe7}
.archive-heading {align-items:end;gap:30px}
.archive-heading h2 {font-size:clamp(42px,4.3vw,68px);max-width:none;line-height:1.06;flex:1}
.archive-heading>p {font-size:16px;line-height:1.65;max-width:30ch;margin-bottom:5px}
.fieldwork .archive-credit {max-width:none;padding:18px var(--gutter) 28px;margin:0;font-size:12px;line-height:1.6}
/* Site preparation supports the archive, instead of becoming a second large gallery. */
.field-notes {background:#f2efe7;padding-top:0;padding-bottom:68px}
.notes-intro {border-top:1px solid #cdc6b8;padding-top:26px;margin:0 0 23px}
.notes-intro h2 {font-size:24px;font-weight:500;line-height:1.25;max-width:none;letter-spacing:-.03em}
.handling-studies .handling-study-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.handling-study {display:grid;grid-template-columns:minmax(90px,.8fr) minmax(0,1.35fr);gap:18px;align-items:start}
.handling-study figure img {aspect-ratio:1;width:100%;height:auto}
.handling-explanation {padding:0;border:0}
.handling-explanation h3 {font-size:20px;letter-spacing:-.025em;line-height:1.2;margin:0 0 10px}
.handling-explanation p {font-size:14px;line-height:1.6;margin:0}
.handling-studies .handling-disclosure {font-size:12px;line-height:1.6;margin:24px 0 0;max-width:none}
/* The scene is the main process story. Supporting tools keep a quieter scale. */
.work-section {padding-top:90px;padding-bottom:60px}
.work-section>.section-top {font-size:13px}
.work-heading {align-items:end;margin:20px 0 40px}
.work-heading h2 {font-size:clamp(48px,5.2vw,84px);line-height:1.04;max-width:17ch;letter-spacing:-.05em}
.work-heading>p {font-size:16px;line-height:1.65;max-width:32ch;margin-bottom:3px}
.work-experience {grid-template-columns:1.2fr 1fr;border:0}
.work-object {border:1px solid #dcd6c8}
.work-experience .work-controls {padding:5px 0 20px clamp(32px,5vw,80px);justify-content:center}
.work-visual {height:min(36vw,510px)}
.work-experience .work-tabs button {padding:24px 0}
.work-tabs .work-step-text strong {font-size:clamp(22px,2.05vw,30px);font-weight:400}
.work-tabs .work-step-text>span {font-size:15px;max-width:34ch;line-height:1.6}
.packing-story {padding-top:30px;margin-top:32px;border-top:1px solid var(--line);gap:25px}
.packing-intro h3 {font-size:25px;line-height:1.2;margin:0 0 9px;font-weight:400}
.packing-intro>p {font-size:15px;line-height:1.6;max-width:44ch}
.packing-invitation .text-link {font-size:15px}
.packing-invitation .fine-print {font-size:12px}
.record-section {padding-top:58px;padding-bottom:58px;grid-template-columns:1.15fr 1fr;gap:12%;background:#292c26}
.record-copy h2 {font-size:clamp(38px,4.1vw,60px);line-height:1.08;max-width:13ch;letter-spacing:-.045em;margin:0 0 23px}
.record-copy h2 span {display:block}
.record-copy>p {font-size:16px;line-height:1.65;max-width:32ch}
.record-copy .text-link {font-size:16px;margin:16px 0}
.record-card {padding:22px 28px}
.record-artwork {padding:22px 0;gap:24px}
.record-art {width:clamp(74px,7vw,108px)}
.record-artwork h3 {font-size:28px}.record-artwork dl {margin-top:15px}
.record-artwork dl>div+div {margin-top:10px}
.contact-section {background:#f8f6f0;color:var(--ink);padding-top:18px;padding-bottom:30px;--line:#d4cdbf}
.contact-heading {padding:65px 0;align-items:end;gap:30px}
.contact-heading h2 {font-size:clamp(58px,7.3vw,112px);line-height:1.02;letter-spacing:-.055em}
.contact-heading p {font-size:17px;line-height:1.6;max-width:30ch}
.contact-section .contact-link {font-size:18px;padding:17px 23px;min-height:58px;background:var(--copper);color:#fff9ed;margin-top:23px;gap:55px}
.contact-section .contact-link:hover {background:#873f2c}
.contact-section footer {display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;border-top:1px solid var(--line);padding-top:25px}
.contact-section footer>.footer-identity {font-size:13px;line-height:1.6;color:#666357}
.footer-identity>span {display:block}
.footer-name>span {display:inline-block;white-space:nowrap}
.contact-section footer>a:last-child {display:flex;align-items:center;justify-self:end;gap:12px;min-height:44px;font-size:14px;line-height:1.5}
.contact-section footer>a:last-child .pnz-icon {flex:none;width:18px;height:18px}
.contact-section .footer-brand>img {filter:brightness(0);opacity:.84}
@media(min-width:701px) and (max-width:1050px) {
 .handling-studies .handling-study-grid {gap:25px}
 .handling-study {grid-template-columns:1fr;gap:17px}
 .handling-study figure {width:100%}
 .work-experience {grid-template-columns:1.1fr 1fr}
 .work-experience .work-controls {padding-left:28px}
 .intro-purpose {font-size:16px}
}
@media(max-width:700px) {
 .journey-statement {min-height:0;padding:132px var(--gutter) 35px;gap:36px}
 .intro-masthead {display:block}.intro-location {font-size:14px;max-width:none}.intro-reach {font-size:12px;margin-top:4px}
 .journey-statement h1 {font-size:clamp(44px,11.5vw,78px);line-height:1.1;margin:0;letter-spacing:-.055em}
 .journey-statement h1 em {text-align:left;margin-top:.23em;max-width:16ch}
 .intro-bottom {display:block;padding-top:22px}
 .intro-purpose {font-size:16px;line-height:1.6;max-width:34ch}
 .intro-actions {margin-top:24px;flex-direction:row;gap:14px;align-items:center;flex-wrap:wrap}
 .intro-contact {gap:32px;min-height:52px;padding:14px 18px;font-size:16px}
 .intro-film {margin:0;font-size:13px;gap:12px;min-height:44px}
 .services-section {padding-bottom:42px}
 .services-intro {margin:0 0 23px;display:block}
 .services-intro h2 {font-size:40px;max-width:none}
 .services-intro>p {font-size:16px;max-width:34ch;margin-top:14px}
 .services-layout {grid-template-columns:1fr;gap:12px}
 .service-image figcaption {padding-bottom:9px}
 .service-description>p {font-size:16px}
 .fieldwork {padding-top:42px}
 .archive-heading h2 {font-size:42px;line-height:1.07;max-width:12ch;margin:0 0 16px}
 .archive-heading>p {font-size:16px;max-width:31ch;margin:0}
 .fieldwork .archive-credit {font-size:13px;padding-top:14px;padding-bottom:28px}
 .field-notes {padding-top:0;padding-bottom:40px}
 .notes-intro {padding-top:24px;margin:0 0 24px}
 .notes-intro h2 {font-size:28px;max-width:18ch}
 .handling-studies .handling-study-grid {grid-template-columns:1fr;gap:28px}
 /* Each title names the whole row; photographs keep their complete square frame. */
 .handling-study {grid-template-columns:minmax(100px,.9fr) minmax(0,1.25fr);gap:12px 20px;align-items:center}
 .handling-study figure {grid-column:1;grid-row:2}
 .handling-explanation {display:contents}
 .handling-explanation h3 {grid-column:1/-1;grid-row:1;font-size:20px;line-height:1.25;margin:0;letter-spacing:-.025em}
 .handling-explanation p {grid-column:2;grid-row:2;font-size:15px;line-height:1.55}
 .handling-studies .handling-disclosure {font-size:13px;line-height:1.6;margin-top:25px}
 .work-section {padding-top:48px;padding-bottom:36px}
 .work-heading {display:block;margin:14px 0 26px}
 .work-heading h2 {font-size:44px;line-height:1.06;max-width:16ch}
 .work-heading>p {font-size:16px;margin:18px 0 0;max-width:34ch}
 .work-experience {grid-template-columns:1fr}
 .work-experience .work-controls {padding:8px 0 0}
 .work-visual {height:min(88vw,400px);min-height:270px}
 .work-experience .work-tabs button {padding:20px 0}
 .work-tabs .work-step-text strong {font-size:22px}
 .work-tabs .work-step-text>span {font-size:15px;line-height:1.6;max-width:36ch}
 .packing-story {padding-top:25px;margin-top:20px}
 .packing-intro h3 {font-size:25px;max-width:19ch;margin:0 0 12px}
 .packing-intro>p {font-size:16px;max-width:34ch}
 .packing-invitation {margin-top:17px}.packing-invitation .fine-print {font-size:13px}
 .record-section {display:block;padding-top:38px;padding-bottom:38px}
 .record-copy h2 {font-size:40px;max-width:15ch;margin:0 0 18px}
 .record-copy>p {font-size:16px;max-width:33ch}
 .record-copy .text-link {margin:13px 0}
 .record-card {padding:20px;margin-top:25px}
 .record-art {width:78px}.record-artwork {padding:22px 0}.record-artwork h3 {font-size:25px}
 .contact-heading {display:block;padding:42px 0}
 .contact-heading h2 {font-size:clamp(48px,13vw,80px);line-height:1.07}
 .contact-heading>div {margin-top:26px}
 .contact-heading p {font-size:16px}
 .contact-section .contact-link {font-size:17px;min-height:56px;margin-top:23px}
 .contact-section footer {grid-template-columns:84px minmax(0,1fr);column-gap:24px;row-gap:20px}
 .contact-section footer .footer-brand img {width:84px}
 .contact-section footer>a:last-child {grid-column:1 / -1;justify-self:stretch;justify-content:space-between;padding-top:15px;border-top:1px solid var(--line)}
}
@media(max-height:700px) and (min-width:701px) {
 .journey-statement {min-height:0;padding-top:135px;padding-bottom:35px;gap:32px}
 .journey-statement h1 {font-size:clamp(48px,6.5vw,100px)}
 .intro-bottom {padding-top:22px}
 .intro-purpose {font-size:16px}.intro-film {margin-top:3px}
}
/* A single cinematic surface replaces the uneven three-picture touch collage. */
.touch-film {display:none}
[data-experience=touch] .journey[data-film-version=full] {height:auto;padding:0;background:var(--paper)}
[data-experience=touch] .film-stage {position:relative;top:0;height:auto;min-height:0;background:var(--paper);overflow:visible}
[data-experience=touch] .film-stage::before,
[data-experience=touch] .film-stage>.hero-poster,
[data-experience=touch] .film-stage>.hero-copy,
[data-experience=touch] .film-stage>.film-shade,
[data-experience=touch] .film-stage>.film-footer {display:none}
[data-experience=touch] .touch-film {display:block;padding:30px var(--gutter) 42px;color:var(--ink);isolation:isolate}
.touch-film-heading {display:flex;justify-content:space-between;align-items:baseline;gap:25px;margin-bottom:28px}
.touch-film-heading .eyebrow {font-size:12px;color:var(--copper);letter-spacing:.06em}
.touch-film-heading h2 {font-size:clamp(32px,4.2vw,52px);line-height:1.1;letter-spacing:-.04em}
.touch-film-frame {position:relative;aspect-ratio:16/9;background:#101b22;overflow:hidden}
.touch-film-frame img,.touch-film-frame video {position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.touch-film-frame video {opacity:0}
.touch-film[data-has-frame=true] video {opacity:1}
.touch-film-caption {display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;min-height:68px;border-bottom:1px solid var(--line);padding:12px 0}
.touch-film-caption>[data-touch-index] {font-size:12px;font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap}
.touch-film-caption p {font-size:18px;line-height:1.4;letter-spacing:-.025em}
.touch-film-caption button {display:grid;place-items:center;background:transparent;width:44px;height:44px;padding:10px;color:var(--ink)}
.touch-film-caption button svg {width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.touch-film-caption button:hover {background:#eae5dc;border-radius:50%}
@media(max-width:700px) {
 [data-experience=touch] .touch-film {padding-top:25px;padding-bottom:8px}
 .touch-film-heading {display:block;margin-bottom:23px}
 .touch-film-heading h2 {font-size:34px;line-height:1.12;margin-top:12px;max-width:18ch}
 .touch-film-frame {aspect-ratio:5/4;margin:0 calc(-1 * var(--gutter))}
 .touch-film-caption {min-height:72px;gap:12px}
 .touch-film-caption p {font-size:17px}
 .touch-film-caption>[data-touch-index] {font-size:11px}
}
@media(max-width:360px) {
 .journey-statement {padding-top:125px;gap:30px}
 .journey-statement h1 {font-size:43px}
}
/* Enlarged text remains content-led; no fixed-height title or clipped description. */
.intro-masthead,.intro-bottom,.intro-actions,.handling-study,.handling-explanation {min-width:0}
.intro-reach,.intro-purpose,.handling-explanation h3,.handling-explanation p {overflow-wrap:anywhere}
/* The study reads as a lit object on a continuous studio surface. */
.work-object {border:0;background:radial-gradient(ellipse at 44% 35%,#f5f5ef 0%,#e9e9e2 76%)}
.work-visual {background:transparent}
.work-object .object-label {padding:24px 26px;color:#4e534a;letter-spacing:.025em}
.work-object .scene-caption {padding:16px 26px 14px;color:#51574d}
.work-object .assembly-sequence {padding-left:26px;padding-right:26px}
.work-object .object-disclosure {color:#51574d}
@media(max-width:700px) {
 .work-object .object-label {padding:21px 20px;font-size:12px}
 .work-object .scene-caption {padding:12px 20px}
 .work-object .assembly-sequence {padding-left:20px;padding-right:20px}
}
/* Direct manipulation: the artwork and all three layers work on the first tap. */
.scene-trigger {position:absolute;inset:0;z-index:2;width:100%;height:100%;padding:0;background:transparent;touch-action:pan-y;cursor:pointer}
.scene-trigger>span {position:absolute;bottom:10px;left:26px;display:flex;gap:16px;align-items:center;font-size:13px;line-height:1.4;color:#4e534a;padding:7px 0;border-bottom:1px solid #a4a797;background:#eef0e8e8}
.scene-trigger .pnz-icon {width:17px;height:17px}
.scene-trigger:focus-visible {outline-offset:-5px}
.scene-trigger:hover>span {color:var(--copper);border-color:var(--copper)}
.assembly-sequence button {min-height:44px;touch-action:manipulation}
@media(max-width:700px){.scene-trigger>span {left:20px;bottom:4px}.touch-film-caption {grid-template-columns:auto minmax(0,1fr) auto}.touch-film-caption p {overflow-wrap:anywhere}}

/* Short touch screens keep the whole film and its control in one composition. */
@media(orientation:landscape) and (max-height:600px){
 [data-experience=touch] .journey {scroll-margin-top:-22px}
 [data-experience=touch] .touch-film {--film-ratio:1.7777778;--film-height:clamp(168px,calc(100svh - 126px),310px);display:grid;grid-template-columns:minmax(176px,1fr) auto;grid-template-rows:auto 1fr;gap:12px clamp(20px,3vw,36px);padding:16px var(--gutter)}
 [data-experience=touch] .touch-film[data-format=phone] {--film-ratio:1.25}
 [data-experience=touch] .touch-film-heading {grid-column:1;grid-row:1;display:block;margin:0}
 [data-experience=touch] .touch-film-heading h2 {font-size:28px;line-height:1.12;margin-top:10px}
 [data-experience=touch] .touch-film-frame {grid-column:2;grid-row:1 / 3;align-self:center;margin:0;width:calc(var(--film-height) * var(--film-ratio));height:var(--film-height);aspect-ratio:auto}
 [data-experience=touch] .touch-film-frame video {object-fit:contain}
 [data-experience=touch] .touch-film-caption {grid-column:1;grid-row:2;align-self:end;grid-template-columns:minmax(0,1fr) 44px;gap:3px 12px;min-height:44px;padding:0;border:0}
 [data-experience=touch] .touch-film-caption>[data-touch-index] {grid-column:1;font-size:11px}
 [data-experience=touch] .touch-film-caption p {grid-column:1;font-size:16px;line-height:1.35}
 [data-experience=touch] .touch-film-caption button {grid-column:2;grid-row:1 / 3}
}
