/* Native square compositions: no crop, zoom or scripted touch handling. */
.homepage-v18.visual-v20 .home-introduction{display:block;padding-block:clamp(56px,7vw,104px)}
.homepage-v18.visual-v20 .introduction-heading{margin-bottom:34px}
.homepage-v18.visual-v20 .introduction-heading .eyebrow{margin-bottom:16px}
.homepage-v18.visual-v20 .home-introduction h2{font-size:clamp(40px,4.7vw,68px);line-height:1.06;margin:0}
.homepage-v18.visual-v20 .feeling-gallery{min-width:0}
.homepage-v18.visual-v20 .feeling-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 40px)/3);gap:20px;list-style:none;margin:0;padding:0;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;outline-offset:5px;-webkit-overflow-scrolling:touch}
.homepage-v18.visual-v20 .feeling-track::-webkit-scrollbar{display:none}
.homepage-v18.visual-v20 .feeling-slide{min-width:0;scroll-snap-align:start}
.homepage-v18.visual-v20 .feeling-card{display:block;position:relative;isolation:isolate;width:100%;padding:0;border:0;text-align:left;aspect-ratio:1;background:#e4e0d6;color:#fff;text-decoration:none;overflow:hidden}
.homepage-v18.visual-v20 .feeling-card img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}
.homepage-v18.visual-v20 .feeling-card:after{content:"";position:absolute;inset:45% 0 0;z-index:0;pointer-events:none;background:linear-gradient(transparent,rgba(15,31,31,.62))}
.homepage-v18.visual-v20 .feeling-caption{position:absolute;inset:auto 25px 25px;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 25px;gap:9px 12px;align-items:end;pointer-events:none;text-shadow:0 1px 8px #14232235}
.homepage-v18.visual-v20 .feeling-category{grid-column:1/-1;font-size:9px;line-height:1.5;letter-spacing:.12em}
.homepage-v18.visual-v20 .feeling-title{font:400 clamp(27px,2.5vw,38px)/1.1 var(--font-display);letter-spacing:-.025em;text-wrap:balance}
.homepage-v18.visual-v20 .feeling-caption .icon{width:22px;height:22px;margin-bottom:3px}
.homepage-v18.visual-v20 .feeling-card:focus-visible{outline:3px solid #fff;outline-offset:-7px}
.homepage-v18.visual-v20 .feeling-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;min-height:68px;border-bottom:1px solid var(--home-rule)}
.homepage-v18.visual-v20 .feeling-hint{font-size:12px;line-height:1.6;color:var(--home-muted);margin:0}
.homepage-v18.visual-v20 .feeling-hint-mobile{display:none}
.homepage-v18.visual-v20 .feeling-controls{display:flex;align-items:center;gap:10px}
.homepage-v18.visual-v20 .feeling-controls[hidden]{display:none}
.homepage-v18.visual-v20 .feeling-controls button{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:0;border:1px solid #aab4aa;background:transparent;color:var(--ink)}
.homepage-v18.visual-v20 .feeling-controls button:disabled{opacity:.35;cursor:default}
.homepage-v18.visual-v20 .feeling-controls button:not(:disabled):hover{background:#e9e6dd}
.homepage-v18.visual-v20 .feeling-controls .icon{width:19px;height:19px}
.homepage-v18.visual-v20 #feeling-count{font-size:11px;letter-spacing:.05em;min-width:48px;text-align:center;white-space:nowrap}
.homepage-v18.visual-v20 .introduction-copy{display:grid;grid-template-columns:minmax(0,600px) auto;gap:10px 50px;align-items:start;padding-top:26px}
.homepage-v18.visual-v20 .introduction-copy>p:not(.feeling-provenance){font-size:15px;line-height:1.75;max-width:57ch;margin:0}
.homepage-v18.visual-v20 .introduction-copy>.quiet-link{justify-self:end;align-self:start;margin:0;font-size:12px;min-height:44px;padding-top:7px}
.homepage-v18.visual-v20 .introduction-copy .feeling-provenance{grid-column:1/-1;font-size:10px;line-height:1.6;margin:4px 0 0;color:var(--home-muted)}
.homepage-v18.visual-v20 .feeling-provenance a{text-decoration:underline;text-underline-offset:3px}
/* Project controls belong to the photograph they change, above its attribution. */
.homepage-v18.visual-v20 .story-navigation{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 0 3px}
.homepage-v18.visual-v20 .story-navigation .story-controls{margin:0;gap:15px;max-width:none;justify-content:flex-start}
.homepage-v18.visual-v20 .story-navigation .story-controls button{width:44px;height:44px}
.homepage-v18.visual-v20 .story-navigation .story-dots{position:static;margin:0;gap:0;justify-content:flex-end}
.homepage-v18.visual-v20 .story-navigation .story-dots button{min-width:44px;min-height:44px;padding:20px 9px}
.homepage-v18.visual-v20 .story-navigation .story-dots span{width:24px;height:2px}
.homepage-v18.visual-v20 .story-provenance{margin-top:10px}
.homepage-v18.visual-v20 .story-description{min-height:0;max-width:37ch;font-size:15px;line-height:1.75}
.homepage-v18.visual-v20 .dialog-photo:not(.is-detail) #room-dialog-image[src*="/rooms-v20/"]{display:block;width:min(100%,62svh,850px);height:auto;max-width:100%;max-height:none;aspect-ratio:1;margin-inline:auto;object-fit:contain}
@media(max-width:1100px){
 .homepage-v18.visual-v20 .feeling-track{grid-auto-columns:47%;gap:18px}
 .homepage-v18.visual-v20 .feeling-title{font-size:34px}
 .homepage-v18.visual-v20 .introduction-copy{grid-template-columns:minmax(0,1.5fr) 1fr;gap:10px 35px}
}
@media(max-width:700px){
 .homepage-v18.visual-v20 .home-introduction{padding-block:42px 44px}
 .homepage-v18.visual-v20 .introduction-heading{margin-bottom:25px}
 .homepage-v18.visual-v20 .introduction-heading .eyebrow{margin-bottom:12px}
 .homepage-v18.visual-v20 .home-introduction h2{font-size:36px;line-height:1.08;margin:0}
 .homepage-v18.visual-v20 .feeling-track{grid-auto-columns:86%;gap:12px;margin-right:-24px;padding-right:24px;scroll-padding-right:24px}
 .homepage-v18.visual-v20 .feeling-caption{inset:auto 20px 22px;gap:9px 12px}
 .homepage-v18.visual-v20 .feeling-category{font-size:10px;letter-spacing:.09em}
 .homepage-v18.visual-v20 .feeling-title{font-size:32px}
 .homepage-v18.visual-v20 .feeling-toolbar{min-height:72px;gap:10px}
 .homepage-v18.visual-v20 .feeling-hint{font-size:12px;max-width:15ch}
 .homepage-v18.visual-v20 .feeling-hint-desktop{display:none}
 .homepage-v18.visual-v20 .feeling-hint-mobile{display:inline}
 .homepage-v18.visual-v20 .feeling-controls{gap:7px}
 .homepage-v18.visual-v20 #feeling-count{font-size:12px;min-width:47px}
 .homepage-v18.visual-v20 .introduction-copy{display:block;padding-top:20px}
 .homepage-v18.visual-v20 .introduction-copy>p:not(.feeling-provenance){font-size:16px;line-height:1.65;max-width:none;margin:0 0 10px}
 .homepage-v18.visual-v20 .introduction-copy>.quiet-link{font-size:14px;min-height:44px;padding-block:10px}
 .homepage-v18.visual-v20 .introduction-copy .feeling-provenance{font-size:12px;line-height:1.6;margin-top:8px}
 .homepage-v18.visual-v20 .feeling-provenance a{display:inline-block;min-height:44px;padding-block:10px}
 .homepage-v18.visual-v20 .story-navigation{margin-inline:24px;padding-top:12px;gap:6px}
 .homepage-v18.visual-v20 .story-navigation .story-controls{gap:7px}
 .homepage-v18.visual-v20 .story-navigation #story-count{min-width:55px;font-size:12px}
 .homepage-v18.visual-v20 .story-navigation .story-dots button{min-width:44px;padding-inline:10px}
 .homepage-v18.visual-v20 .story-navigation .story-dots span{width:20px}
 .homepage-v18.visual-v20 .story-copy{padding-top:20px}
 .homepage-v18.visual-v20 .story-description{font-size:16px;line-height:1.65;margin-bottom:12px;max-width:none}
}
@media(max-width:359px){
 .homepage-v18.visual-v20 .feeling-title{font-size:29px}
 .homepage-v18.visual-v20 .story-navigation{flex-wrap:wrap;gap:0}
}
@media(prefers-reduced-motion:reduce){
 .homepage-v18.visual-v20 .feeling-track{scroll-behavior:auto}
}
