/* R71: scoped visual choreography, native scrolling and quiet surfaces. */
html[data-theme] .design71 .exhibit71{width:100%;max-width:none;padding:72px 0 60px;overflow:hidden}
.exhibit71 .exhibit66-title,.rail71-tools{margin-inline:5vw}
html[data-theme] .design71 .rail71{display:flex;gap:24px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:5vw;padding:0 5vw 22px;scrollbar-width:thin;touch-action:pan-x pan-y;cursor:grab}
html[data-theme] .design71 .rail71.dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}
html[data-theme] .design71 .rail71 .exhibit66-item{flex:0 0 72%;width:72%;margin:0;min-width:0;scroll-snap-align:start}
html[data-theme] .design71 .rail71 .exhibit66-item:last-child{margin-right:18vw}
html[data-theme] .design71 .rail71 figure{opacity:1;transform:none;transition:none}
html[data-theme] .design71 .rail71 img{width:100%;height:min(58svh,650px);aspect-ratio:auto;object-fit:cover;pointer-events:none;transition:transform .9s ease}
html[data-theme] .design71 .rail71 figcaption{opacity:1;transform:none;padding:16px 0;background:none}
.rail71-tools{display:flex;justify-content:space-between;align-items:center;gap:16px;font:500 12px Manrope,sans-serif}
.rail71-tools>div{display:flex;gap:8px}.rail71-tools button{border:1px solid var(--ui-border);background:var(--button-bg);color:var(--button-text);min-height:44px;padding:10px 18px;border-radius:2px;font:500 12px Manrope,sans-serif}.rail71-tools button:disabled{opacity:.4;cursor:default}
.rail71:focus-visible{outline:2px solid var(--ui-heading);outline-offset:-3px}
/* No duplicate motion on the detail story. Natural mobile reading order is primary. */
html[data-theme] .design71 .story71{display:block;position:relative;width:100%;max-width:none;height:auto;min-height:0;padding:70px 5vw;background:var(--ui-bg);overflow:visible;border-top:1px solid var(--ui-border)}
html[data-theme] .design71 .story71:before,html[data-theme] .design71 .story71:after{display:none}
html[data-theme] .design71 .story71>h2{position:relative;inset:auto;margin:0 0 36px;font:500 clamp(28px,3.5vw,52px)/1.2 Lora,serif;max-width:20ch;color:var(--ui-heading);transform:none}
.story71-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:7vw;align-items:start}.story71-stage{position:sticky;top:130px;margin:0;height:calc(100svh - 190px);max-height:700px;min-height:300px;overflow:hidden}.story71-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .65s ease;transform:none!important}.story71-stage img:first-child{opacity:1}.story71-stage[data-active="1"] img,.story71-stage[data-active="2"] img{opacity:0}.story71-stage[data-active="1"] img:nth-child(2),.story71-stage[data-active="2"] img:nth-child(3){opacity:1}
.story71-step{min-height:65svh;display:flex;align-items:center;border-top:1px solid var(--ui-border);gap:20px;padding:45px 0}.story71-step figure{display:none}.story71-step span{font:500 12px Manrope,sans-serif;color:var(--ui-fg);opacity:.7}.story71-step h3{font:500 clamp(28px,3vw,45px)/1.2 Lora,serif;color:var(--ui-heading);margin:18px 0}.story71-step p{font:400 16px/1.8 Manrope,sans-serif;color:var(--ui-fg);max-width:26ch;margin:0}
/* Menu is an opaque, contained spread with restrained entrance. */
html[data-theme] #menu.menu71{background:transparent;backdrop-filter:none;transition:opacity .55s,visibility .55s}
html[data-theme] #menu.menu71 .menu-scrim{background:#19171899;backdrop-filter:none}
html[data-theme] #menu.menu71 .menu58-panel{position:absolute;inset:16px 16px auto auto;width:min(1100px,calc(100% - 32px));height:calc(100dvh - 32px);min-height:0;max-height:none;padding:26px 36px;display:grid;grid-template-columns:1.15fr 1fr;grid-template-rows:auto 1fr auto;gap:20px 38px;align-content:stretch;background:#381e1d;color:#f7e7ce;border:1px solid #f7e7ce26;border-radius:4px;overflow:auto;transform:translateY(-22px);opacity:0;transition:transform .6s cubic-bezier(.22,.68,.25,1),opacity .5s;box-shadow:0 20px 70px #19171840}
html[data-theme] #menu.menu71.open .menu58-panel{transform:translateY(0);opacity:1}
html[data-theme] #menu.menu71 .menu-popover-top{grid-column:1/-1;grid-row:1;padding:0 0 15px;margin:0;border-bottom:1px solid #f7e7ce30}
html[data-theme] #menu.menu71 .menu-popover-nav{grid-column:1;grid-row:2;display:flex;flex-direction:column;justify-content:center;align-self:stretch;margin:0;gap:0;overflow:visible}
html[data-theme] #menu.menu71 .menu-popover-nav>.menu-popover-link,html[data-theme] #menu.menu71 .menu-collection-group{border-bottom:1px solid #f7e7ce26;width:100%;margin:0;opacity:1;transform:none}
html[data-theme] #menu.menu71 .menu-popover-link,html[data-theme] #menu.menu71 .menu-collection-group>summary{font:500 clamp(20px,2.2vw,30px)/1.35 Lora,serif!important;letter-spacing:0;padding:15px 0!important;color:#f7e7ce!important;text-transform:none;background:none;transition:color .45s,transform .45s}
html[data-theme] #menu.menu71 .menu-popover-link:before{display:none}
html[data-theme] #menu.menu71 .menu-popover-link:hover,html[data-theme] #menu.menu71 .menu-popover-link:focus-visible{color:#edc9af!important;transform:translateX(5px)}
html[data-theme] #menu.menu71 .menu-collection-sub{padding:2px 0 16px 12px;display:grid;grid-template-columns:1fr 1fr;gap:0 16px;border-left:1px solid #edc9af66}
html[data-theme] #menu.menu71 details:not([open]) .menu-collection-sub{display:none}
html[data-theme] #menu.menu71 .menu-sub-link{font:400 13px/1.5 Manrope,sans-serif;color:#f7e7ce;padding:8px 0;min-height:35px}.menu71 .menu-collection-overview{grid-column:1/-1}
html[data-theme] #menu.menu71 .menu66-photo{display:block;grid-column:2;grid-row:2/4;min-height:0;max-height:none;height:100%;margin:0;align-self:stretch;border-radius:2px}
html[data-theme] #menu.menu71 .menu66-photo img{width:100%;height:100%;object-fit:cover;filter:none}
html[data-theme] #menu.menu71 .menu58-contact{grid-column:1;grid-row:3;display:flex;gap:12px;flex-wrap:wrap;align-self:end;margin:0;padding-top:8px;font-size:12px;color:#f7e7ce}
/* A generous photographic window with attached controls. */
html[data-theme] .design71 .window71{height:auto;min-height:0;max-width:none;width:100%;padding:65px 3vw 45px;background:var(--ui-bg);overflow:hidden}
html[data-theme] .design71 .window71>.container{width:100%;max-width:none;padding:0}
html[data-theme] .design71 .window71 .section-heading{padding:0 2vw;margin-bottom:28px}
html[data-theme] .design71 .window71 #comparison{width:100%;height:min(66vw,70svh);min-height:300px;max-height:800px;aspect-ratio:auto;border-radius:2px 2px 0 0;margin:0;isolation:isolate}
html[data-theme] .design71 .window71 .compare61-toolbar{background:#381e1d;border:1px solid #f7e7ce33;padding:16px 24px;gap:18px;border-radius:0 0 2px 2px;position:relative;inset:auto}
html[data-theme] .design71 .window71 .scene58-picker button{border:0;border-right:1px solid #f7e7ce40;border-radius:0;padding:8px 22px;min-height:48px;transition:background .3s,color .3s}
html[data-theme] .design71 .window71 .scene58-picker button:last-child{border-right:0}
html[data-theme] .design71 .window71 .scene58-picker small{font-size:11px!important}.window71 .light65-day,.window71 .light65-night{display:none!important}
html[data-theme] .design71 .window71 #compare-hint{display:block;margin:16px auto 0;text-align:center;color:var(--ui-fg)}
.window71 .compare-pair{transition:opacity .6s ease!important}
/* One editorial overlap: title remains a complete readable phrase. */
html[data-theme] .design71 #main .brand71{display:block;position:relative;overflow:hidden;width:100%;max-width:none;padding:70px 5vw 65px;min-height:0}
html[data-theme] .design71 #main .brand71 .brand68-title{position:relative;z-index:1;width:100%;max-width:none;padding:0}
html[data-theme] .design71 #main .brand71 h1{font:500 clamp(42px,7vw,100px)/1.12 Lora,serif!important;max-width:none;margin:0;letter-spacing:-.035em;display:flex;flex-direction:column;gap:0;color:var(--ui-heading)}
html[data-theme] .design71 #main .brand71 h1 span:last-child{align-self:flex-end}
html[data-theme] .design71 #main .brand71 p{max-width:26ch;font-size:14px;line-height:1.8;margin-top:30px}
html[data-theme] .design71 #main .brand71 .brand71-photo{position:relative;z-index:2;margin:-24px 0 0 auto;width:68%;height:auto;transform:translateY(var(--brand71-y,0px));will-change:transform}
html[data-theme] .design71 #main .brand71-photo img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;opacity:1;transform:none}
@media(max-width:900px){html[data-theme] #menu.menu71 .menu58-panel{grid-template-columns:1fr 0.8fr;padding:22px;gap:18px 24px}html[data-theme] .design71 .window71 .compare61-toolbar{flex-direction:column;align-items:stretch}html[data-theme] .design71 .window71 .scene58-picker{justify-content:center}}
@media(max-width:720px){
 html[data-theme] .design71 .exhibit71{padding:45px 0}.exhibit71 .exhibit66-title{display:block;margin-bottom:24px}.exhibit71 .exhibit66-title h2{font-size:32px;margin-bottom:15px}.exhibit71 .exhibit66-title h2 br{display:none}
 html[data-theme] .design71 .rail71{gap:12px;padding-inline:5vw}html[data-theme] .design71 .rail71 .exhibit66-item{flex-basis:85%;width:85%;display:block!important}html[data-theme] .design71 .rail71 .exhibit66-item:last-child{margin-right:9vw}html[data-theme] .design71 .rail71 img{height:auto;aspect-ratio:4/3;object-fit:cover}html[data-theme] .design71 .rail71 figcaption span:first-child{font-size:27px}.rail71-tools{font-size:11px}
 html[data-theme] .design71 .story71{padding:45px 5vw}.story71-layout{display:block}.story71-stage{display:none}.story71-step{display:block;min-height:0;padding:24px 0 36px}.story71-step figure{display:block;margin:0 0 22px}.story71-step figure img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.story71-step h3{font-size:28px;margin:10px 0}.story71-step p{max-width:none;font-size:14px}
 html[data-theme] #menu.menu71 .menu58-panel{inset:8px;width:calc(100% - 16px);height:calc(100dvh - 16px);display:flex;flex-direction:column;padding:20px;gap:16px}
 html[data-theme] #menu.menu71 .menu66-photo{display:none}html[data-theme] #menu.menu71 .menu-popover-nav{flex:1;justify-content:center}html[data-theme] #menu.menu71 .menu-popover-link,html[data-theme] #menu.menu71 .menu-collection-group>summary{font-size:22px!important;padding:13px 0!important}html[data-theme] #menu.menu71 .menu58-contact{align-self:stretch;font-size:11px}
 html[data-theme] .design71 .window71{padding:40px 0 30px}html[data-theme] .design71 .window71 .section-heading{padding:0 5vw}html[data-theme] .design71 .window71 #comparison{height:auto;aspect-ratio:4/3;min-height:0;border-radius:0}html[data-theme] .design71 .window71 .compare61-toolbar{padding:12px 10px;gap:12px}html[data-theme] .design71 .window71 .scene58-picker button{padding:8px 5px;flex:1}html[data-theme] .design71 .window71 .scene58-picker{gap:0}
 html[data-theme] .design71 #main .brand71{padding:35px 5vw 40px}html[data-theme] .design71 #main .brand71 h1{font-size:clamp(32px,8vw,55px)!important;letter-spacing:-.02em}html[data-theme] .design71 #main .brand71 h1 span:last-child{align-self:flex-start}html[data-theme] .design71 #main .brand71 .brand71-photo{width:100%;margin:28px 0 0;transform:none;will-change:auto}html[data-theme] .design71 #main .brand71 p{max-width:none;margin-top:18px}
}
@media(prefers-reduced-motion:reduce){.design71 *{scroll-behavior:auto!important}.story71-stage img{transition:none}.brand71-photo{transform:none!important}html[data-theme] #menu.menu71 .menu58-panel{transition:none;transform:none}}
/* Stagger only the six main rows; never animate height or font metrics. */
@media(prefers-reduced-motion:no-preference){
 #menu.menu71.open .menu-popover-nav> :nth-child(1){animation:menu71-in .5s .04s both}
 #menu.menu71.open .menu-popover-nav> :nth-child(2){animation:menu71-in .5s .08s both}
 #menu.menu71.open .menu-popover-nav> :nth-child(3){animation:menu71-in .5s .12s both}
 #menu.menu71.open .menu-popover-nav> :nth-child(4){animation:menu71-in .5s .16s both}
 #menu.menu71.open .menu-popover-nav> :nth-child(5){animation:menu71-in .5s .20s both}
 #menu.menu71.open .menu-popover-nav> :nth-child(6){animation:menu71-in .5s .24s both}
 @keyframes menu71-in{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}
}
/* Cards and section controls fit together in a typical desktop viewport. */
@media(min-width:721px){html[data-theme] .design71 .rail71 img{height:clamp(280px,calc(100svh - 380px),570px)}html[data-theme] .design71 .window71 #comparison{height:clamp(320px,calc(100svh - 315px),740px)}}
/* Reserve the fixed header's footprint on the brand opening. */
html[data-theme] .design71 #main .brand71{padding-top:145px}
@media(min-width:721px){html[data-theme] .design71 #main .brand71 .brand71-photo{margin-top:-95px}html[data-theme] .design71 #main .brand71 .brand68-title p{width:24%;max-width:24ch}}
@media(max-width:720px){html[data-theme] .design71 #main .brand71{padding-top:112px}}
html[data-theme] .design71 #main .brand71 .brand68-title{display:block;margin:0}
@media(min-width:721px){html[data-theme] .design71 #main .brand71 .brand71-photo{margin-top:-8px}html[data-theme] .design71 #main .brand71 .brand68-title p{position:absolute;top:100%;left:0;width:24%;margin:32px 0 0}}
@media(max-width:720px){html[data-theme] .design71 #main .brand71 .brand68-title p{position:static;width:auto;margin-top:18px}}
/* Do not create a non-scrolling ancestor that disables sticky story imagery. */
body.design71:not(.no-scroll){overflow-x:clip;overflow-y:visible}
