.touch-page{--touch-wide:1040px;--touch-copy:780px;color:var(--ink)}
.touch-page figure{margin:0}.touch-page img{display:block;width:100%;max-width:100%;height:auto}.touch-page figure a{display:block;cursor:zoom-in}.touch-page figure a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.touch-page figcaption{display:flex;justify-content:space-between;gap:20px;padding:11px 0;color:var(--muted);font:11px/1.5 'Geist',Arial,sans-serif;letter-spacing:.02em}
.opening{display:grid;grid-template-columns:minmax(0,1.38fr) minmax(320px,.62fr);gap:clamp(40px,6vw,90px);padding:80px 0 100px;align-items:end}.opening h1{font-size:clamp(66px,7vw,108px);font-weight:500;letter-spacing:-.076em;line-height:.98;margin:23px 0 36px -.055em}.question{font-size:clamp(26px,2.1vw,35px);line-height:1.26;letter-spacing:-.035em;margin:0 0 42px}.methods{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.methods span{border:1px solid #c8cbc8;border-radius:2px;padding:7px 10px;color:#42483f;font:500 12px/1.2 'Geist',Arial,sans-serif}.hero{border-top:1px solid var(--ink);padding-top:16px}.hero img{max-height:720px;object-fit:contain;background:#fff}
.overview-poster{display:grid;grid-template-columns:minmax(250px,380px) minmax(0,560px);gap:clamp(50px,8vw,110px);align-items:center;justify-content:center;padding-bottom:20px}.overview-poster figure img{max-height:620px;object-fit:contain}.section-kicker,.eyebrow{margin:0 0 14px;color:var(--muted);font:500 11px/1.35 'Geist',Arial,sans-serif;letter-spacing:.055em;text-transform:uppercase}.overview-poster h2,.subsection-heading h3{font-family:'Space Grotesk','Geist',Arial,sans-serif;font-size:clamp(30px,3.3vw,48px);font-weight:500;line-height:1.12;letter-spacing:-.045em;margin:0 0 35px}.body-copy{max-width:var(--touch-copy);font-size:clamp(16px,1.15vw,18px);line-height:1.7}.body-copy p{margin:0 0 1.35em}.body-copy p:last-child{margin-bottom:0}.centered-copy{margin:0 auto}.journey-index{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--ink);border-bottom:1px solid var(--rule);padding:17px 0;margin:135px 0 150px}.journey-index span{border-left:1px solid var(--rule);padding:0 14px;color:#4b5049;font:500 11px/1.35 'Geist',Arial,sans-serif;text-transform:uppercase;letter-spacing:.04em}.journey-index span:first-child{border-left:0;padding-left:0}
.chapter{border-top:1px solid var(--ink);padding:34px 0 155px}.chapter-heading{margin-bottom:90px!important}.concept-columns,.format-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:0;width:min(100%,var(--touch-wide));margin:0 auto}.concept-columns article,.format-columns article{border-top:1px solid var(--rule);padding:22px 30px 0}.concept-columns article+article,.format-columns article+article{border-left:1px solid var(--rule)}.concept-columns article>span,.format-columns article>span,.findings article>span{color:var(--accent);font:500 12px/1.2 'Geist',Arial,sans-serif}.concept-columns h3,.format-columns h3{font-family:'Space Grotesk','Geist',Arial,sans-serif;font-size:clamp(21px,2.1vw,29px);font-weight:500;line-height:1.15;letter-spacing:-.04em;margin:30px 0 25px}.concept-columns p,.format-columns p,.route-comparison-columns p{font-size:14px;line-height:1.65;margin:0 0 1.2em}.framework-line,.resonance-equation{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:12px 22px;width:min(100%,var(--touch-wide));margin:85px auto 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:30px 0;font-family:'Space Grotesk','Geist',Arial,sans-serif;font-size:clamp(22px,2.4vw,34px);letter-spacing:-.035em}.framework-line b,.resonance-equation b{color:var(--accent);font-size:20px;font-weight:400}.framework-line strong{font-weight:500}
.subsection-heading{width:min(100%,var(--touch-copy));margin:0 auto 42px}.subsection-heading h3{margin-bottom:0}.subsection-spaced{margin-top:150px}.site-photo-composition{display:grid;grid-template-columns:1fr 1fr;gap:18px;width:min(100%,var(--touch-wide));margin:65px auto 0}.site-photo-composition>div{display:grid;gap:18px}.site-photo-composition figure{overflow:hidden}.site-photo-composition img{height:100%;object-fit:cover}.landmark-copy{margin-top:78px}.wide-photo,.key-diagram,.night-observations,.gps-figure,.audience-video{width:min(100%,var(--touch-wide));margin:62px auto 0!important}.format-columns{margin-top:65px}.format-columns img{width:150px;height:150px;object-fit:contain;margin:20px auto 25px}.aligning-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);gap:70px;width:min(100%,var(--touch-wide));margin:0 auto 80px;align-items:start}.aligning-intro>div:last-child{display:grid;gap:25px}.aligning-intro figure{border:1px solid var(--rule);padding:12px}.key-diagram{margin-top:70px!important}.key-diagram img{max-height:780px;object-fit:contain}.annotation-row{display:grid;grid-template-columns:2fr 1fr;gap:24px;width:min(100%,860px);margin:70px auto 0}.annotation-row figure{border:1px solid var(--rule);padding:15px}.night-observations{margin-top:35px!important}
.testing{background:#f1f2ef;box-shadow:0 0 0 100vmax #f1f2ef;clip-path:inset(0 -100vmax)}.gps-figure img{background:#fff;max-height:1100px;object-fit:contain}.data-sequence{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;width:min(100%,var(--touch-wide));margin:65px auto;background:#cfd3cf;border:1px solid #cfd3cf}.data-sequence div{background:#fff;padding:28px 24px;min-height:150px}.data-sequence strong{display:block;color:var(--accent);font-family:'Space Grotesk','Geist',Arial,sans-serif;font-size:clamp(34px,3vw,48px);font-weight:500;letter-spacing:-.055em}.data-sequence span{display:block;margin-top:18px;font-size:12px;line-height:1.45;text-transform:uppercase;letter-spacing:.035em}.audience-video figcaption a{text-decoration:underline;text-underline-offset:4px}.comparison-intro{width:min(100%,var(--touch-copy));margin:0 auto 55px;font-family:'Space Grotesk','Geist',Arial,sans-serif;font-size:clamp(22px,2.4vw,34px);line-height:1.3;letter-spacing:-.035em}.route-comparison-columns{display:grid;grid-template-columns:1fr 1fr;gap:50px;width:min(100%,var(--touch-wide));margin:0 auto}.route-comparison-columns article{border-top:1px solid var(--ink);padding-top:22px}.route-thumbnails{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:25px 0 35px}.route-thumbnails img{aspect-ratio:1.08/1;object-fit:cover;background:#fff}.resonance-equation{justify-content:flex-start;font-size:clamp(20px,2vw,29px)}
.findings{width:min(100%,var(--touch-wide));margin:0 auto;border-top:1px solid var(--ink)}.findings article{display:grid;grid-template-columns:55px minmax(260px,390px) 1fr;gap:32px;border-bottom:1px solid var(--rule);padding:28px 0}.findings h3{font-family:'Space Grotesk','Geist',Arial,sans-serif;font-size:clamp(23px,2.4vw,34px);font-weight:500;line-height:1.22;letter-spacing:-.04em;margin:0}.findings p{font-size:15px;line-height:1.65;margin:0 0 1em}.methods-section,.project-info{border:0}.method-list>div{display:grid;grid-template-columns:30% 1fr;gap:25px}.method-list h3{margin:0;color:var(--ink);font-size:14px}.method-list p{font-size:14px;line-height:1.55;margin:0;max-width:610px}.info-content dl{margin:0}.info-content dl>div{display:grid!important;grid-template-columns:26% 1fr;gap:20px}.info-content dt{color:var(--muted)}.info-content dd{margin:0}.backline a:hover,.detail-footer a:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:980px){.opening{grid-template-columns:1fr;gap:55px}.opening-aside{max-width:720px}.overview-poster{grid-template-columns:300px 1fr}.concept-columns,.format-columns{grid-template-columns:1fr}.concept-columns article,.format-columns article{padding:28px 0}.concept-columns article+article,.format-columns article+article{border-left:0;margin-top:32px}.format-columns img{margin-left:0}.aligning-intro{grid-template-columns:1fr;gap:45px}}
@media(max-width:720px){.opening{padding:60px 0 78px}.opening h1{font-size:clamp(52px,12vw,76px)}.question{font-size:27px;margin-bottom:28px}.overview-poster{grid-template-columns:1fr;gap:45px}.overview-poster figure{width:min(82%,340px);margin:auto}.journey-index{grid-template-columns:1fr 1fr;row-gap:18px;margin:95px 0 105px}.journey-index span:nth-child(odd){border-left:0;padding-left:0}.chapter{padding-bottom:105px}.chapter-heading{margin-bottom:58px!important}.subsection-spaced{margin-top:105px}.site-photo-composition{grid-template-columns:1fr}.format-columns img{width:120px;height:120px}.annotation-row,.route-comparison-columns{grid-template-columns:1fr}.data-sequence{grid-template-columns:1fr 1fr}.data-sequence div{min-height:135px}.findings article{grid-template-columns:45px 1fr}.findings article p{grid-column:2}.resonance-equation{align-items:center}.methods-section,.project-info{padding:28px 24px 34px!important}.method-list>div,.info-content dl>div{grid-template-columns:1fr!important;gap:8px}.touch-page figcaption{display:block}.touch-page figcaption span,.touch-page figcaption a{display:block}.touch-page figcaption span+span,.touch-page figcaption span+a{margin-top:5px}}

/* Revised single-project layout */
.touch-revised .opening{border-bottom:1px solid var(--rule)}
.touch-revised .project-types{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.touch-revised .project-types span{border:1px solid #c8cbc8;border-radius:2px;padding:7px 10px;color:#42483f;font:500 12px/1.2 'Geist',Arial,sans-serif}
.touch-revised .project-place{margin:0;color:var(--muted);font:13px/1.5 'Geist',Arial,sans-serif}
.touch-revised .project-overview{display:grid;grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr);gap:clamp(22px,3vw,46px);align-items:stretch;width:min(100%,1040px);padding:clamp(80px,9vw,125px) 0 145px;margin:0 auto}
.touch-revised .project-overview .overview-poster{display:block;padding:0;margin:0;background:#f1f2f0}
.touch-revised .project-overview .overview-poster img{width:100%;height:100%;max-height:none;object-fit:cover}
.touch-revised .overview-card{display:flex;flex-direction:column;justify-content:space-between;gap:clamp(44px,7vw,105px);padding:clamp(34px,4.3vw,64px);background:#eceeeb}
.touch-revised .overview-card h2{margin:0;font-size:clamp(32px,3.8vw,56px);font-weight:500;line-height:1.05;letter-spacing:-.05em}
.touch-revised .overview-card p{margin:0 0 1.35em;font-size:clamp(15px,1.12vw,17px);line-height:1.7}.touch-revised .overview-card p:last-child{margin-bottom:0}
.touch-revised .huam-image-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,.75fr);gap:18px;width:min(100%,var(--touch-wide));margin:60px auto 0;align-items:stretch}
.touch-revised .huam-image-grid>div{display:grid;grid-template-rows:auto auto;gap:18px}.touch-revised .huam-image-grid figure{min-height:0}.touch-revised .huam-image-grid>figure img{height:100%;object-fit:cover}.touch-revised .huam-image-grid>div img{height:auto;object-fit:contain}
.touch-revised .format-text-only{margin-top:140px}.touch-revised .format-text-only article{padding-top:22px}.touch-revised .format-text-only h3{margin-top:26px}
.touch-revised .aligning-stack{width:min(100%,var(--touch-wide));margin:145px auto 90px}.touch-revised .aligning-stack>.body-copy{margin:0 auto 65px}.touch-revised .alignment-images{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}.touch-revised .alignment-images figure{padding:0;border:0}.touch-revised .alignment-images img{height:auto;object-fit:contain}
.touch-revised figure{border:0!important;padding-left:0!important;padding-right:0!important}.touch-revised figcaption{display:none}
.touch-revised .comparison-intro{margin-top:135px}.touch-revised .route-comparison-columns article{padding-top:28px}
.touch-revised .compact-panel{display:block;width:min(100%,var(--touch-wide));margin:40px auto 0;padding:clamp(30px,4vw,52px);border:0;background:#f0f1ef}
.touch-revised .project-info.compact-panel{margin-top:18px;background:#e9ebe8}
.touch-revised .compact-panel>h2{margin:0 0 45px;font:500 clamp(28px,3vw,42px)/1.1 'Space Grotesk','Geist',Arial,sans-serif;letter-spacing:-.045em}
.touch-revised .method-list>div{grid-template-columns:minmax(150px,25%) 1fr}.touch-revised .info-content dl>div{grid-template-columns:minmax(130px,22%) 1fr}
@media(max-width:800px){.touch-revised .project-overview{grid-template-columns:1fr;padding:65px 0 100px}.touch-revised .project-overview .overview-poster{width:min(82%,390px);margin:auto}.touch-revised .project-overview .overview-poster img{height:auto}.touch-revised .overview-card{gap:42px;padding:32px 26px 38px}.touch-revised .huam-image-grid{grid-template-columns:1fr}.touch-revised .huam-image-grid>figure img{height:auto}.touch-revised .alignment-images{grid-template-columns:1fr}.touch-revised .format-text-only{margin-top:105px}.touch-revised .aligning-stack{margin-top:105px}.touch-revised .compact-panel{padding:30px 24px 36px}}

/* v47 refinements */
.touch-revised .opening{border-bottom:0;padding-bottom:0}
.touch-revised .opening-divider{grid-column:1/-1;width:100%;height:1px;background:var(--ink);margin-top:34px}
.touch-revised .project-meta{gap:10px!important}
.touch-revised .project-overview .overview-poster img{object-fit:contain}
.touch-revised .huam-image-grid>figure img{object-fit:contain}
.touch-revised .landmark-sequence img{object-fit:contain}
.touch-revised .format-heading{margin-top:140px;margin-bottom:0}
.touch-revised .format-text-only{margin-top:48px}
.touch-revised .format-text-only .format-icon{width:120px;height:120px;margin:0 0 34px;object-fit:contain}
.touch-revised .aligning-heading{margin-top:145px;margin-bottom:0}
.touch-revised .aligning-heading+.aligning-stack{margin-top:48px}
.touch-revised .alignment-images{grid-template-columns:1fr;gap:34px}
.touch-revised .alignment-images figure{width:min(100%,900px);margin:0 auto}
.touch-revised .route-annotation{display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,.34fr);gap:24px;align-items:end;width:min(100%,var(--touch-wide));margin:65px auto 0}
.touch-revised .route-annotation img,.touch-revised .spatial-conditions img{object-fit:contain}
.touch-revised .route-legend{align-self:end}
.touch-revised .spatial-conditions{margin-top:34px!important}
.touch-revised .route-comparison-columns .eyebrow{font-size:clamp(18px,1.8vw,25px);line-height:1.25;letter-spacing:-.025em;text-transform:none;color:var(--ink);margin-bottom:28px}
.touch-revised .video-link-wrap{width:min(100%,var(--touch-wide));margin:20px auto 0;text-align:right}
.touch-revised .video-button{display:inline-flex;align-items:center;min-height:36px;border:1px solid #c8cbc8;border-radius:2px;padding:7px 12px;background:#fff;color:#303532;font:500 13px/1.2 'Geist',Arial,sans-serif;text-decoration:none;transition:color .18s ease,border-color .18s ease}
.touch-revised .video-button:hover{color:var(--accent);border-color:var(--accent)}
@media(max-width:800px){.touch-revised .format-heading,.touch-revised .aligning-heading{margin-top:105px}.touch-revised .format-text-only,.touch-revised .aligning-heading+.aligning-stack{margin-top:42px}.touch-revised .route-annotation{grid-template-columns:1fr}.touch-revised .route-legend{width:min(70%,360px)}}


/* Keep one divider below the opening method tags. */
.touch-revised .opening{border-bottom:0!important}
.touch-revised .opening::after{content:none!important;display:none!important}
.touch-revised .opening-divider{display:none!important}


/* Add breathing room below the audience journey button. */
.touch-revised .video-link-wrap{margin-bottom:clamp(48px,6vw,76px)!important}
