/* RUI 03: photographic scale, editorial reading, explicit services. */
.service-index{display:grid;grid-template-columns:repeat(4,1fr);gap:0 30px;margin:0 0 85px}.service-index a{display:flex;align-items:center;gap:14px;padding:21px 0;border-bottom:1px solid var(--line);font-size:12px}.service-index small{color:var(--muted);font-size:9px}.service-index span{margin-left:auto}.capability-row{scroll-margin-top:30px;display:grid;grid-template-columns:1fr 1.5fr;gap:8vw;padding:65px 0;border-top:1px solid var(--line)}.capability-row h2,.engagement h2{font:400 40px/1.5 var(--serif);margin:20px 0}.capability-row h3{font:400 29px/1.6 var(--serif);margin:0 0 20px}.capability-row p{font-size:14px;line-height:2.1;color:#68736c}.capability-row ul{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 28px;margin-top:25px}.capability-row li{font-size:12px;border-top:1px solid var(--line);padding:16px 0}.engagement{padding-top:85px;padding-bottom:85px;background:#e6e4db;margin-top:40px}.engagement-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4vw;margin:40px 0}.engagement-grid span{font-size:9px;letter-spacing:.1em}.engagement-grid h3{font:400 26px/1.5 var(--serif)}.engagement-grid p{font-size:13px;line-height:2;color:#64716a}
.ai-project-hero{display:grid;grid-template-columns:1.08fr 1fr;background:#152b2b;color:#f3f0e8;min-height:690px}.ai-project-hero>div{padding:80px 5vw 65px 6vw;align-self:center}.ai-project-hero h1{font:400 clamp(33px,3.6vw,58px)/1.5 var(--serif);margin:30px 0}.ai-project-hero h1 em{font-style:normal;color:#c5bca7}.ai-project-hero p{font-size:13px;line-height:2.2;color:#bbc6bd;max-width:510px}.ai-project-hero .ai-definition{font-size:17px;color:#f3f0e8}.ai-project-hero figure{position:relative;margin:0;min-height:690px}.ai-project-hero img{width:100%;height:100%;position:absolute;object-fit:cover}.ai-project-hero figcaption{position:absolute;bottom:30px;left:35px;right:35px;color:white;font:italic 23px var(--serif);text-shadow:0 1px 12px #000}.ai-status{display:block;border-top:1px solid #ffffff36;margin-top:35px;padding-top:18px;font-size:10px;letter-spacing:.05em;color:#b8c6bd}.ai-project-hero .text-link{margin-top:20px}.ai-overview{padding-top:80px;padding-bottom:60px;max-width:1100px}.ai-overview h2,.deliverable-scene h2,.pilot h2{font:400 40px/1.5 var(--serif);margin:24px 0}.ai-overview p{font-size:14px;line-height:2.1;color:#6b766e;max-width:700px}.ai-project{border-top:1px solid var(--line);padding:48px 0 55px}.ai-project-title{display:flex;gap:40px;align-items:start}.project-number{font:400 60px/1 var(--serif);color:#9b9f93}.ai-project-title h3{font:400 34px/1.5 var(--serif);margin:12px 0}.ai-project-title p{font-size:13px;color:#6e786f}.ai-spec{display:grid;grid-template-columns:1fr 1fr;gap:24px 70px;margin:30px 0 28px 100px}.ai-spec h4{font-size:12px;font-weight:500;margin:0 0 8px}.ai-spec p,.acceptance p{font-size:13px;line-height:2;color:#65736b;margin:0}.acceptance{display:grid;grid-template-columns:100px 1fr;gap:18px;margin-left:100px;padding:22px 25px;background:#e6e4da}.acceptance strong{font-size:12px;font-weight:500}.deliverable-scene{padding-top:75px;padding-bottom:75px;background:#e5e2d8;display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin-top:25px}.deliverable-scene>div>p{font-size:13px;color:#637169;line-height:2;max-width:480px}.deliverable-scene .small-note{font-size:10px}.deliverable-scene ol{list-style:none;padding:0;margin:0}.deliverable-scene li{display:flex;gap:30px;padding:20px 0;border-bottom:1px solid var(--line)}.deliverable-scene li>span{font:400 25px var(--serif);color:#7e887e}.deliverable-scene h3{font:400 24px/1.5 var(--serif);margin:0 0 10px}.deliverable-scene li p{font-size:12px;color:#637169;line-height:1.9;margin:0}.pilot{background:#152b2b;color:#f3f0e8;padding-top:75px;padding-bottom:75px}.pilot-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;margin:40px 0}.pilot-steps b{font:400 40px var(--serif);color:#bfb39a}.pilot-steps h3{font:400 25px var(--serif)}.pilot-steps p,.scope-note p{font-size:12px;line-height:2;color:#bdc6bd}.scope-note{display:grid;grid-template-columns:1fr 2fr;gap:50px;border-top:1px solid #ffffff30;padding:25px 0;margin-bottom:25px}.scope-note h3{font:400 23px/1.6 var(--serif)}.pilot .solid-button{background:#ece9de;color:#25302a}
/* Large photographic chapters: native scrolling, no forced snap. */
.home-v2 .hero-v2{height:100svh;min-height:720px}.hero-v2 h1{font-size:clamp(84px,10.5vw,168px)}.hero-shade{background:linear-gradient(180deg,#06100d4a,transparent 38%,#06100d73)}.home-work-heading{display:grid;grid-template-columns:1fr 1.1fr;position:relative;padding-top:35px;padding-bottom:65px;align-items:end;gap:25px}.home-work-heading .eyebrow{grid-column:1/-1}.home-work-heading h2{font:400 clamp(60px,7.5vw,110px)/.95 var(--serif);letter-spacing:-.04em;margin:15px 0 0}.home-work-heading p{font:400 20px/1.7 var(--serif);justify-self:end;max-width:330px}.immersive-feature{display:block;position:relative;height:92svh;min-height:660px;max-height:1100px;color:#fff;overflow:hidden;background:#182d27}.immersive-feature>img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s ease}.immersive-feature:hover>img{transform:scale(1.018)}.feature-shade{position:absolute;inset:0;background:linear-gradient(180deg,#0b171412,transparent 25%,#08120f8a);pointer-events:none}.feature-copy{position:absolute;inset:auto 6vw 60px;z-index:1}.feature-copy h2{font:400 clamp(65px,8.3vw,130px)/.98 var(--serif);letter-spacing:-.035em;margin:28px 0 35px;max-width:850px}.feature-bottom{display:flex;justify-content:space-between;align-items:end;gap:25px;border-top:1px solid #ffffff50;padding-top:22px}.feature-bottom p{font:400 24px/1.5 var(--serif);margin:0}.feature-bottom small{display:block;font:400 12px/1.8 var(--sans);color:#e2e5da;margin-top:8px}.feature-open{display:grid;place-items:center;border:1px solid #ffffff70;border-radius:50%;width:62px;height:62px;font-size:25px;flex-shrink:0}.image-interlude{display:grid;grid-template-columns:1.3fr 1fr;gap:10vw;padding:110px 8vw;align-items:center}.image-interlude figure{margin:0}.image-interlude button{background:none;border:0;padding:0;width:100%;display:block;position:relative}.image-interlude img{width:100%;height:auto;max-height:710px;object-fit:contain}.image-interlude figcaption{font-size:9px;letter-spacing:.06em;color:#798075;padding-top:18px}.image-interlude h2{font:400 50px/1.5 var(--serif);margin:25px 0}.image-interlude p{font-size:13px;color:#68736a;line-height:2.2}.image-interlude .zoom-hint,.collection-editorial .zoom-hint{position:absolute;bottom:20px;right:20px;color:white;font-size:24px}.home-work-end{display:flex;justify-content:space-between;gap:35px;padding-top:45px;padding-bottom:65px}.home-journal{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:5vw;padding-top:85px;padding-bottom:80px}.home-journal h2{font:400 32px/1.6 var(--serif);margin:20px 0}.home-journal>a{padding-top:20px;border-top:1px solid var(--line);align-self:center}.home-journal h3{font:400 24px/1.6 var(--serif);margin:25px 0}.home-journal span{font-size:10px;color:#747e74}.portfolio-heading{padding-top:45px;padding-bottom:60px}.portfolio-heading>div:last-child{display:flex;align-items:end;justify-content:space-between;gap:50px}.portfolio-heading h1{font:400 clamp(65px,8vw,120px)/.98 var(--serif);letter-spacing:-.04em;margin:25px 0 0}.portfolio-heading p{font-size:13px;line-height:2;color:#69766c;margin-bottom:10px}.portfolio-page .immersive-feature{margin:0 0 8px}.archive-link{display:flex;justify-content:space-between;align-items:center;gap:40px;padding-top:75px;padding-bottom:75px}.archive-link h2{font:400 32px/1.5 var(--serif);margin:22px 0}.archive-link p{font-size:12px;color:#788173}.archive-link .text-link{white-space:nowrap}
.collection-page .site-header{position:absolute;inset:0 0 auto;z-index:30;color:#f5f0e4;background:transparent}.collection-page .contact-button{border-color:#ffffff60}.collection-hero{height:100svh;min-height:700px;position:relative;color:white;background:#20322c}.collection-hero>img{height:100%;width:100%;object-fit:cover}.collection-hero-copy{position:absolute;left:7vw;right:7vw;bottom:65px}.collection-hero h1{font:400 clamp(70px,9vw,145px)/1 var(--serif);letter-spacing:-.04em;margin:30px 0}.collection-hero h2{font:400 26px var(--serif);margin:25px 0}.collection-hero .text-link{font-size:10px}.collection-story{display:grid;grid-template-columns:1fr 2fr;gap:9vw;padding-top:90px;padding-bottom:90px}.collection-story h2{font:400 38px/1.6 var(--serif);margin:0 0 25px}.collection-story p{font-size:14px;line-height:2.1;color:#6b776d}.collection-story small{font-size:10px;line-height:1.9;color:#8b9286}.collection-editorial{display:grid;grid-template-columns:1fr 1fr;gap:90px 7vw;padding:0 0 60px}.collection-editorial figure{margin:0;min-width:0}.collection-editorial button{display:block;width:100%;padding:0;border:0;background:none;position:relative}.collection-editorial img{width:100%;height:auto;display:block}.collection-full{grid-column:1/-1}.collection-full img{max-height:1100px;object-fit:contain;background:#e6e3d9}.collection-full figcaption{padding:17px 6vw 0!important;display:flex;justify-content:space-between;gap:20px}.collection-editorial figcaption{font-size:10px;line-height:1.8;color:#758071;padding-top:18px}.collection-inset{padding-left:6vw;align-self:center}.collection-inset.inset-2{padding:100px 6vw 0 0}.collection-end{padding-top:50px;padding-bottom:80px}.collection-end h2{font:400 42px var(--serif)}.collection-end .text-link{margin-right:60px}.photo-grid{display:block;columns:3;column-gap:28px;padding-left:5vw;padding-right:5vw}.photo-entry{break-inside:avoid;margin:0 0 38px}.photo-grid .photo-entry img{height:auto!important;width:100%;object-fit:contain}.photo-entry .image-caption{font-size:10px}.soft-reveal{opacity:0;transform:translateY(20px);transition:opacity .8s ease,transform .8s ease}.soft-reveal.is-visible{opacity:1;transform:none}
.collection-hero .feature-shade{background:linear-gradient(180deg,#08120f80 0%,#08120f12 24%,transparent 38%,#08120f8a 100%)}
/* Journal: dated editorial records, distinct from the photographic portfolio. */
.journal-heading{padding-top:50px;padding-bottom:65px;display:grid;grid-template-columns:1.3fr 1fr;gap:20px 7vw;align-items:end}.journal-heading .eyebrow{grid-column:1/-1}.journal-heading h1{font:400 clamp(65px,7.8vw,118px)/.98 var(--serif);letter-spacing:-.04em;margin:15px 0}.journal-heading p{font-size:13px;line-height:2;color:#727c70;justify-self:end}.journal-feature{display:grid;grid-template-columns:1.15fr 1fr;gap:8vw;align-items:center;padding-bottom:75px}.journal-feature-image{background:#e3e0d6;display:block}.journal-feature-image img{width:100%;height:650px;object-fit:contain}.journal-feature time{font-size:11px;color:#7e877b;display:block;margin-top:18px}.journal-feature h2{font:400 53px/1.5 var(--serif);margin:25px 0}.journal-feature p{font-size:14px;line-height:2;color:#6e7a6e;max-width:420px}.journal-stories{display:grid;grid-template-columns:1fr 1fr;gap:7vw;padding-bottom:90px}.journal-story{display:block;border-top:1px solid var(--line);padding-top:28px}.journal-story>img{width:100%;height:350px;object-fit:cover}.journal-story>div{padding:25px 0}.journal-story h2{font:400 30px/1.5 var(--serif);margin:20px 0}.journal-story p{font-size:13px;line-height:2;color:#72806f}.journal-story time,.journal-story span{font-size:10px;color:#73806f;margin-right:25px}.article-head{max-width:980px;margin:0 auto;padding:55px 35px 55px}.article-meta{display:flex;gap:25px;font-size:11px;color:#7b8578;margin:40px 0 20px}.article-head h1{font:400 clamp(35px,4vw,62px)/1.5 var(--serif);letter-spacing:.02em;margin:0 0 24px}.article-deck{font-size:17px;line-height:2;color:#6a766a;max-width:800px}.article-cover{margin:0 auto 70px;max-width:1280px;padding:0 40px}.article-cover>img{width:100%;height:auto;display:block}.article-cover.portrait-cover{max-width:1000px}.article-cover.portrait-cover img{max-height:820px;object-fit:contain;background:#e6e3d9}.article-cover figcaption,.article-gallery figcaption{font-size:10px;color:#788474;line-height:1.9;padding-top:15px}.article-prose{max-width:780px;padding:0 35px;margin:0 auto 65px}.article-prose section{margin:0 0 40px}.article-prose h2{font:400 29px/1.6 var(--serif);margin:0 0 18px}.article-prose p{font-size:15px;line-height:2.3;color:#546351}.article-gallery{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;max-width:1240px;margin:0 auto 65px;padding:0 40px}.article-gallery figure{margin:0}.article-gallery img{width:100%;height:auto;max-height:850px;object-fit:contain}.article-colophon{border-top:1px solid var(--line);padding-top:25px}.article-colophon p{font-size:10px;color:#8a9183}.journal-back{display:flex;justify-content:space-between;gap:30px;padding-top:20px;padding-bottom:70px}
@media(max-width:1100px){.service-index{grid-template-columns:repeat(3,1fr)}.ai-project-hero>div{padding:50px 5vw}.ai-project-hero h1{font-size:38px}.journal-feature h2{font-size:42px}.journal-feature-image img{height:530px}.photo-grid{columns:2}.feature-copy h2{font-size:90px}}
@media(max-width:800px){.service-index{grid-template-columns:1fr 1fr;gap:0 18px;margin-bottom:45px}.service-index a{font-size:10px;gap:7px;line-height:1.6}.capability-row{grid-template-columns:1fr;gap:15px;padding:38px 0}.capability-row h2{font-size:30px;margin:15px 0}.capability-row h3{font-size:25px}.capability-row p{font-size:13px}.capability-row li{font-size:11px}.engagement{padding-top:55px;padding-bottom:55px}.engagement h2{font-size:29px}.engagement-grid{grid-template-columns:1fr;gap:20px}.engagement-grid h3{font-size:25px;margin:14px 0}.ai-project-hero{grid-template-columns:1fr}.ai-project-hero>div{padding:50px 6vw}.ai-project-hero h1{font-size:36px;margin:25px 0}.ai-project-hero .ai-definition{font-size:16px}.ai-project-hero figure{min-height:400px}.ai-project-hero figcaption{font-size:21px;left:6vw}.ai-overview{padding-top:55px;padding-bottom:30px}.ai-overview h2,.deliverable-scene h2,.pilot h2{font-size:29px}.ai-project-title{gap:18px}.project-number{font-size:40px}.ai-project-title h3{font-size:26px}.ai-project-title .eyebrow{font-size:8px}.ai-spec{margin:25px 0;grid-template-columns:1fr;gap:22px}.ai-spec p{font-size:12px}.acceptance{margin-left:0;grid-template-columns:1fr;padding:20px;gap:10px}.deliverable-scene{grid-template-columns:1fr;gap:20px;padding-top:45px;padding-bottom:45px}.deliverable-scene h3{font-size:22px}.pilot{padding-top:50px;padding-bottom:50px}.pilot-steps{grid-template-columns:1fr 1fr;gap:20px}.pilot-steps h3{font-size:23px}.scope-note{grid-template-columns:1fr;gap:0}.scope-note h3{font-size:24px}.home-v2 .hero-v2{min-height:760px}.hero-v2 h1{font-size:clamp(69px,15.5vw,100px)}.home-work-heading{grid-template-columns:1fr;padding-top:5px;padding-bottom:45px;gap:20px}.home-work-heading h2{font-size:67px}.home-work-heading p{justify-self:start;font-size:16px;margin:0}.immersive-feature{height:85svh;min-height:620px;max-height:950px}.feature-copy{inset:auto 6vw 35px}.feature-copy h2{font-size:clamp(54px,14vw,85px);margin:20px 0 30px}.feature-copy .eyebrow{font-size:8px}.feature-bottom{padding-top:20px}.feature-bottom p{font-size:21px}.feature-bottom small{font-size:10px;max-width:225px}.feature-open{width:45px;height:45px;font-size:22px}.image-interlude{grid-template-columns:1fr;padding:60px 6vw;gap:40px}.image-interlude img{max-height:620px}.image-interlude h2{font-size:35px;margin:20px 0}.home-work-end{padding-top:30px;padding-bottom:45px;gap:15px}.home-work-end .text-link{font-size:10px;gap:15px}.home-journal{grid-template-columns:1fr;padding-top:55px;padding-bottom:50px;gap:25px}.home-journal h2{font-size:30px}.home-journal h3{margin:15px 0}.portfolio-heading{padding-top:35px;padding-bottom:40px}.portfolio-heading>div:last-child{display:block}.portfolio-heading h1{font-size:65px}.portfolio-heading p{font-size:12px;margin-top:25px}.archive-link{display:block;padding-top:45px;padding-bottom:50px}.archive-link h2{font-size:26px}.archive-link p{font-size:11px;line-height:2}.collection-page .nav{color:var(--ink)}.collection-hero{min-height:700px}.collection-hero-copy{left:6vw;right:6vw;bottom:45px}.collection-hero h1{font-size:clamp(60px,16vw,90px)}.collection-hero .eyebrow{font-size:8px}.collection-hero h2{font-size:24px}.collection-story{grid-template-columns:1fr;gap:25px;padding-top:55px;padding-bottom:50px}.collection-story h2{font-size:28px}.collection-story p{font-size:13px}.collection-editorial{gap:40px 18px;padding-bottom:20px}.collection-inset{padding-left:6vw}.collection-inset.inset-2{padding-right:6vw;padding-top:60px}.collection-full figcaption{font-size:8px}.collection-full figcaption span{display:none}.collection-editorial figcaption{font-size:9px}.collection-editorial .zoom-hint{font-size:18px;bottom:10px;right:10px}.collection-end{padding-top:35px;padding-bottom:55px}.collection-end h2{font-size:30px}.collection-end .text-link{margin-right:25px;font-size:11px;gap:15px}.photo-grid{columns:2;column-gap:14px;padding:0 6vw 50px}.photo-entry{margin-bottom:25px}.photo-entry .image-caption{font-size:8px}.journal-heading{grid-template-columns:1fr;padding-top:40px;padding-bottom:40px;gap:12px}.journal-heading h1{font-size:67px}.journal-heading p{justify-self:start;font-size:12px}.journal-feature{grid-template-columns:1fr;gap:30px;padding-bottom:45px}.journal-feature-image img{height:460px}.journal-feature h2{font-size:36px;margin:20px 0}.journal-feature p{font-size:13px}.journal-stories{grid-template-columns:1fr;gap:30px;padding-bottom:50px}.journal-story>img{height:auto;max-height:400px;object-fit:cover}.journal-story h2{font-size:26px}.article-head{padding:35px 6vw 35px}.article-head h1{font-size:34px}.article-meta{font-size:10px;margin-top:30px}.article-deck{font-size:14px}.article-cover{padding:0;margin-bottom:40px}.article-cover figcaption{padding-left:6vw}.article-cover.portrait-cover img{max-height:630px}.article-prose{padding:0 7vw;margin-bottom:35px}.article-prose h2{font-size:25px}.article-prose p{font-size:14px;line-height:2.2}.article-gallery{grid-template-columns:1fr;padding:0 6vw;gap:30px;margin-bottom:35px}.article-gallery img{max-height:650px}.article-colophon{margin:0 7vw 35px;padding:20px 0 0}.article-colophon p{font-size:10px}.journal-back{padding-bottom:40px}.journal-back .text-link{font-size:10px;gap:15px}}
@media(prefers-reduced-motion:reduce){.immersive-feature>img{transition:none}.soft-reveal{opacity:1;transform:none;transition:none}}

/* collection-full--portrait 2026-11-08：满幅竖构图照片按印刷品落位。
   竖图（高>宽）放进整行满幅容器时高度被 max-height 压住、左右各留约 350px 空档，
   图注又被推到页面左右边缘而与照片脱节。这里让照片按原始比例内缩居中，
   照片与图注同宽、图注随图走；800px 以下图注回到 6vw 内缩。 */
.collection-full--portrait{display:flex;flex-direction:column;align-items:center}
.collection-full--portrait>button{width:var(--mount-w,100%);max-width:100%}
.collection-full--portrait>button img{width:100%;height:auto;max-height:1100px;object-fit:contain}
.collection-full--portrait>figcaption{width:var(--mount-w,100%);max-width:100%;padding:17px 0 0!important}
@media(max-width:800px){.collection-full--portrait>figcaption{padding:17px 6vw 0!important}}
