/* Photo-led chapters use the reference's generous spacing and restrained controls. */
.source-collection{padding:90px 20px 30px;max-width:1280px;margin:auto;color:var(--ink)}
.estate-home .source-collection{padding:160px 50px;max-width:1500px}
.source-gallery{margin:0 auto 100px}.source-gallery:last-of-type{margin-bottom:40px}
.source-gallery header{text-align:center;max-width:670px;margin:0 auto 55px}.source-gallery .source-en{font-family:var(--estate-en);font-size:20px;font-weight:400;line-height:1.5;margin:0 0 20px}.source-gallery h2{font-size:32px;font-weight:400;line-height:1.5;margin:0 0 22px;word-break:keep-all}.source-intro{font-size:15px;line-height:1.9;color:var(--muted);word-break:keep-all}
.source-main{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:center;gap:42px}.source-open{position:relative;display:block;border:0;padding:0;background:transparent;width:100%;height:500px;overflow:hidden;cursor:zoom-in}.source-main-image{display:block;width:100%;height:100%;object-fit:contain;transition:transform 1s cubic-bezier(.25,1,.5,1)}.source-open:hover .source-main-image{transform:scale(1.025)}.source-expand{position:absolute;right:20px;bottom:20px;display:grid;place-items:center;width:40px;height:40px;background:#fff;color:#151515;border-radius:50%;font-size:22px;font-weight:300;box-shadow:0 1px 7px #0001}
.source-main-copy{min-width:0}.source-counter{font-family:var(--estate-en);font-size:12px;color:var(--muted);margin-bottom:30px}.source-main-copy h3{font-size:23px;line-height:1.6;font-weight:400;word-break:keep-all;margin:0 0 24px}.source-description{font-size:15px;line-height:1.9;color:var(--muted);word-break:keep-all}.source-controls{display:flex;align-items:center;gap:12px;margin-top:32px}.source-controls button{border:1px solid var(--line);background:transparent;color:inherit;min-width:44px;min-height:44px;padding:8px;font-size:20px}.source-controls .source-enlarge-label{font-size:12px;border:0;border-bottom:1px solid currentColor;margin-left:10px;padding:0 0 5px;min-height:32px}.source-controls button:hover{border-color:var(--ink)}
.source-thumbnails{display:flex;gap:14px;margin-top:26px;overflow-x:auto;padding:0 0 16px;scroll-snap-type:x proximity;scrollbar-width:thin}.source-thumbnails button{flex:0 0 105px;display:block;border:0;border-bottom:2px solid transparent;padding:0 0 8px;text-align:left;background:transparent;color:var(--muted);scroll-snap-align:start}.source-thumbnails img{width:105px;height:80px;object-fit:cover;display:block;opacity:.6;transition:opacity .3s}.source-thumbnails span{display:block;font-size:10px;line-height:1.5;margin-top:8px;word-break:keep-all}.source-thumbnails button[aria-pressed=true]{border-color:var(--ink);color:var(--ink)}.source-thumbnails button[aria-pressed=true] img,.source-thumbnails button:hover img{opacity:1}.source-links{display:flex;flex-wrap:wrap;justify-content:center;gap:24px 40px}.source-benefit-note{font-size:12px;color:var(--muted);text-align:center;line-height:1.8;margin:30px auto}.source-route-jump{display:flex;align-items:center;justify-content:space-between;gap:30px;margin:0 20px 15px auto;padding:10px 0;min-height:44px;border:0;border-bottom:1px solid var(--line);background:none;color:var(--ink);font-size:12px}
.source-lightbox{position:fixed;inset:0;z-index:4000;background:#141719f7;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:70px 7vw 40px;backdrop-filter:blur(15px)}.source-lightbox[hidden]{display:none!important}.source-lightbox figure{margin:0;max-width:1400px;width:100%;min-height:0;display:flex;flex-direction:column;align-items:center}.source-lightbox figure>img{display:block;max-width:100%;width:auto;height:65dvh;min-height:0;object-fit:contain}.source-lightbox figcaption{text-align:center;max-width:720px;margin:22px 0 0}.source-lightbox h2{color:#fff;font-weight:400;font-size:19px;margin:0 0 8px;line-height:1.5}.source-lightbox-copy{font-size:12px;line-height:1.7;color:#c4cacc;margin:0;word-break:keep-all}.source-lightbox button{color:#fff;background:none;border:0;min-width:44px;min-height:44px}.source-lightbox-close{position:absolute;top:22px;right:30px;font-size:38px;font-weight:300}.source-lightbox-nav{display:flex;align-items:center;gap:30px;margin-top:16px}.source-lightbox-nav button{font-size:25px}.source-lightbox-count{font-family:var(--estate-en);font-size:12px}.source-lightbox button:focus-visible{outline-color:#fff}.source-lightbox-open .viewport{overflow:hidden}
@media(min-width:1000px){.source-in-view .source-main{animation:sourcePhotoEntrance .8s cubic-bezier(.25,1,.5,1) both}.estate-home .source-main{grid-template-columns:1.35fr 1fr;gap:8vw}.estate-home .source-open{height:620px}.source-collection:not(.estate-home .source-collection) .source-main{grid-template-columns:1fr}.source-collection:not(.estate-home .source-collection) .source-main-copy{max-width:620px;margin:auto;text-align:center}.source-collection:not(.estate-home .source-collection) .source-controls{justify-content:center}}
@keyframes sourcePhotoEntrance{from{opacity:.6;transform:translateY(18px)}to{opacity:1;transform:none}}
@media(max-width:700px){.source-collection,.estate-home .source-collection{padding:80px 20px 30px}.source-gallery{margin-bottom:90px}.source-gallery header{margin-bottom:32px}.source-gallery .source-en{font-size:17px;margin-bottom:12px}.source-gallery h2{font-size:25px;margin-bottom:18px}.source-intro{font-size:14px;line-height:1.9}.source-main{display:block}.source-open{height:min(calc((100vw - 40px)/var(--source-aspect,1)),520px)}.source-main-copy{padding-top:28px}.source-counter{margin:0 0 15px}.source-main-copy h3{font-size:22px;margin-bottom:16px}.source-description{font-size:14px;line-height:1.85}.source-controls{margin-top:22px}.source-thumbnails{gap:12px;margin-top:25px}.source-thumbnails button{flex-basis:88px}.source-thumbnails img{width:88px;height:68px}.source-links{justify-content:flex-start;gap:15px 26px}.source-lightbox{padding:70px 18px 30px}.source-lightbox figure>img{height:60dvh;max-height:600px}.source-lightbox-close{top:16px;right:16px}.source-lightbox h2{font-size:17px}.source-lightbox figcaption{margin-top:18px}.source-lightbox-copy{font-size:12px}.source-lightbox-nav{margin-top:10px}}
@media(prefers-reduced-motion:reduce){.source-in-view .source-main{animation:none!important}.source-main-image,.source-thumbnails img{transition:none!important}.source-open:hover .source-main-image{transform:none}}

html[data-theme] .source-gallery h2,html[data-theme] .source-main-copy h3{font-weight:400}
