.aperture-v2 { --aperture-red: #ee4b2f; --aperture-black: #111111; --aperture-paper: #e8e6e0; overflow-x: clip; background: var(--aperture-paper); color: var(--aperture-black); }
.aperture-v2 [id] { scroll-margin-top: 6rem; }
.aperture-v2 ::selection { background: var(--aperture-red); color: #fff; }
.aperture-v2 h1,.aperture-v2 h2,.aperture-v2 h3,.aperture-v2 p { text-wrap: pretty; }
.aperture-v2 .demo-nav { position: sticky; top: 0; z-index: 60; min-height: 5rem; max-width: 100%; border-color: #1717172d; background: #e8e6e0f2; color: #151515; backdrop-filter: blur(16px); }
.aperture-v2 .demo-nav nav { min-width: 0; }
.aperture-v2 .demo-nav nav a:last-child { border-color: #171717; background: #171717; color: #f5f3ed; }
.aperture-v2 button,.aperture-v2 input { font: inherit; }
.aperture-wordmark { color: inherit; font-size: 2rem; font-weight: 720; letter-spacing: -.075em; text-decoration: none; }
.aperture-wordmark span { color: var(--aperture-red); font-size: .62em; vertical-align: top; }

.aperture-opening { min-height: calc(105svh - 5rem); padding: 2.5rem 4vw 4rem; }
.aperture-opening__meta { display: flex; justify-content: space-between; gap: 2rem; font-size: .68rem; font-weight: 650; line-height: 1.5; letter-spacing: .07em; }
.aperture-opening__meta span { text-align: right; }
.aperture-opening h1 { position: relative; z-index: 4; margin: 2rem 0 -4.2vw; font-size: clamp(5rem,13.5vw,13rem); font-weight: 650; line-height: .86; letter-spacing: -.105em; }
.aperture-opening h1 em,.aperture-inquiry h2 em { font-family: Georgia,serif; font-weight: 400; }
.aperture-opening__art { position: relative; height: min(62vw,58rem); min-height: 34rem; overflow: hidden; background: #d6d5d2; }
.aperture-opening__art img { width: 100%; height: 100%; object-fit: cover; object-position: 55% 50%; transform: scale(1.04); }
.aperture-opening__art::after { content: ""; position: absolute; inset: 0; background: linear-gradient(115deg,transparent 0 45%,#fff5 49%,transparent 54%); mix-blend-mode: overlay; transform: translate3d(-50%,0,0); transition: transform 1s cubic-bezier(.2,.8,.2,1); }
.aperture-opening__art:hover::after { transform: translate3d(55%,0,0); }
.aperture-opening__slice { display: none; }
.aperture-opening__art > span { position: absolute; left: 1.5rem; bottom: 1.5rem; padding: .45rem .6rem; background: #e7e5dfd9; font: .62rem ui-monospace,monospace; letter-spacing: .08em; }
.aperture-opening__foot { display: flex; justify-content: space-between; gap: 2rem; padding-top: 1.5rem; }
.aperture-opening__foot p { margin: 0; }
.aperture-opening__foot p:first-child { font-size: 1.65rem; font-weight: 550; line-height: 1.2; letter-spacing: -.045em; }

.aperture-conviction { height: 185svh; background: var(--aperture-red); color: #18100d; }
.aperture-conviction__sticky { position: sticky; top: 0; display: grid; grid-template-columns: minmax(0,1fr); min-height: 100svh; padding: 14vh 4vw 9vh; align-content: center; }
.aperture-conviction h2 { margin: 2rem 0; font-size: clamp(3.2rem,7.5vw,7.7rem); font-weight: 650; line-height: .97; letter-spacing: -.08em; }
.aperture-conviction h2 span,.aperture-conviction h2 strong { display: block; width: max-content; max-width: 100%; }
.aperture-conviction h2 span:nth-child(2) { margin-left: 8vw; }
.aperture-conviction h2 strong { margin-left: 20vw; font-family: Georgia,serif; font-weight: 400; font-style: italic; }
.aperture-conviction__sticky > p:last-child { justify-self: end; max-width: 37rem; margin-top: 1.5rem; font-size: 1.1rem; }

.aperture-cut { --aperture-progress: 0; --aperture-cut: 0; --aperture-resolve: 0; height: 330svh; background: #0b0909; color: #eee9e2; }
.aperture-cut__sticky { position: sticky; top: 0; height: 100svh; min-height: 42rem; overflow: hidden; isolation: isolate; background: radial-gradient(circle at var(--light-x,50%) var(--light-y,48%),#3b1712 0,#140c0b 24%,#080707 67%); }
.aperture-cut__top { position: absolute; z-index: 10; top: calc(var(--aperture-nav-height,6.5rem) + 1.5rem); right: 4vw; left: 4vw; display: flex; justify-content: space-between; gap: 2rem; }
.aperture-cut__top > span { color: #aa9c95; font: .62rem ui-monospace,monospace; letter-spacing: .08em; }

.aperture-object.aperture-ribbon { position:absolute; z-index:2; top:48%; left:68%; width:min(44vw,35rem); aspect-ratio:960/1038; transform:translate(-50%,-50%) perspective(1200px) rotateX(var(--light-tilt-x,0deg)) rotateY(var(--light-tilt-y,0deg)) rotateZ(calc(-8deg + var(--aperture-progress) * 16deg)) scale(calc(1 - var(--aperture-cut) * .12)); transform-style:preserve-3d; }
.aperture-ribbon > img { display:block; width:100%; height:auto; filter:drop-shadow(1.5rem 2rem 1.2rem #0005); }
.aperture-ribbon .ribbon-note { position:absolute; inset:auto; padding:.75rem 1rem; border:1px solid #b4aaa348; background:#181414e8; color:#ddd5cf; font:.75rem/1.4 "Manrope",sans-serif; white-space:nowrap; opacity:0; transform:translate3d(0,1rem,30px); transition:opacity .2s,transform .25s; }
.aperture-ribbon .ribbon-note.is-active { opacity:1; transform:translate3d(0,0,55px); }
.ribbon-note--strategy { top:14%!important; left:-12%!important; }
.ribbon-note--identity { top:44%!important; right:-5%!important; }
.ribbon-note--digital { bottom:15%!important; left:-13%!important; }
.ribbon-note--motion { top:8%!important; right:0!important; }
.aperture-cut__chapters { position: absolute; z-index: 8; left: 4vw; bottom: 11vh; width: min(38rem,42vw); pointer-events: none; }
.aperture-cut__chapters article { position: absolute; bottom: 0; left: 0; padding: 1.3rem 1.5rem; border-left: 1px solid var(--aperture-red); background: linear-gradient(90deg,#0a0808e8 0,#0a0808b8 73%,transparent); opacity: 0; transform: translate3d(0,1rem,0); transition: opacity .4s,transform .6s cubic-bezier(.2,.8,.2,1); }
.aperture-cut__chapters span { color: #f2765d; font: .62rem ui-monospace,monospace; letter-spacing: .1em; }
.aperture-cut__chapters h2 { margin: .7rem 0 0; font-size: clamp(2rem,4vw,4.2rem); font-weight: 570; line-height: 1.03; letter-spacing: -.065em; }
.aperture-cut[data-aperture-phase="sealed"] [data-cut-phase="sealed"],.aperture-cut[data-aperture-phase="opening"] [data-cut-phase="opening"],.aperture-cut[data-aperture-phase="open"] [data-cut-phase="open"],.aperture-cut[data-aperture-phase="resolving"] [data-cut-phase="resolving"],.aperture-cut[data-aperture-phase="resolved"] [data-cut-phase="resolving"] { opacity: 1; transform: none; }
.aperture-facet-controls { position: absolute; z-index: 10; right: 4vw; bottom: 3rem; display: flex; padding: .25rem; border: 1px solid #ffffff38; border-radius: 999px; background: #111c; backdrop-filter: blur(12px); }
.aperture-facet-controls button { min-height: 44px; padding: .55rem .8rem; border: 0; border-radius: 999px; background: transparent; color: #bcb4af; font-size: .68rem; cursor: pointer; }
.aperture-facet-controls button[aria-pressed="true"] { background: #ef654b; color: #20100b; }
.aperture-facet-controls button:active { transform: translateY(1px); }
.aperture-cut__status { position: absolute; z-index: 9; right: 4vw; bottom: 7.1rem; max-width: 19rem; color: #b8ada7; font-size: .72rem; text-align: right; }

.aperture-specimens__sticky { position: sticky; top: 0; height: 100svh; min-height: 42rem; padding: calc(var(--aperture-nav-height,6.5rem) + 2rem) 4vw 3vh; overflow: hidden; }
.aperture-specimens__heading { display: flex; justify-content: space-between; align-items: end; gap: 3rem; margin-bottom: 5vh; }
.aperture-specimens__heading h2 { margin: 0; font-size: clamp(2.6rem,4.8vw,5rem); font-weight: 620; line-height: 1.02; letter-spacing: -.075em; }
.aperture-specimens__viewport { overflow: visible; }
.aperture-specimens__rail { display: grid; grid-template-columns: 35vw 43vw 38vw 46vw 43vw; gap: .9rem; width: max-content; transform: translate3d(calc(var(--pan-progress) * -56%),0,0); will-change: transform; }
.aperture-ui__label { align-self: end; min-height: 44px; padding: .5rem .8rem; border: 1px solid #171717; background: #f2eee6; }

.aperture-practice-v2 { min-height: 120svh; padding: 10rem 4vw; display: grid; grid-template-columns: .8fr 1.2fr; gap: 8vw; background: #151515; color: #ede9e3; }
.aperture-practice-v2__lead { position: sticky; top: 9rem; align-self: start; }
.aperture-practice-v2 h2 { margin: 2rem 0; font-size: clamp(3rem,5vw,5.3rem); font-weight: 590; line-height: 1.02; letter-spacing: -.075em; }
.aperture-practice-v2__lead > p:last-child { max-width: 32rem; color: #aaa39d; }
.aperture-process { margin: 0; padding: 0; list-style: none; }
.aperture-process li { position: relative; display: grid; min-height: 18rem; padding: 2rem 0; grid-template-columns: 5rem 1fr auto; gap: 1.5rem; border-top: 1px solid #edebe438; }
.aperture-process li > span { color: #f36a50; font: .62rem ui-monospace,monospace; letter-spacing: .1em; }
.aperture-process h3 { margin: 0 0 1rem; font-size: clamp(2rem,3.2vw,3.3rem); font-weight: 570; letter-spacing: -.065em; }
.aperture-process p { max-width: 34rem; margin: 0; color: #aaa39d; }
.aperture-process li > b { color: #ffffff10; font-size: 7rem; line-height: .8; }

.aperture-inquiry { --aperture-close-progress: 0; position: relative; min-height: 110svh; display: grid; padding: 8rem 4vw; place-items: center; overflow: hidden; background: var(--aperture-red); color: #18100d; }
.aperture-inquiry__mark { position: absolute; inset: 0; display: grid; place-items: center; pointer-events: none; }
.aperture-inquiry__mark::before,.aperture-inquiry__mark::after { content: ""; position: absolute; width: min(70vw,60rem); height: min(20vw,16rem); background: #19100e; transform-origin: center; }
.aperture-inquiry__mark::before { transform: rotate(calc(31deg - var(--aperture-close-progress) * 13deg)) scaleX(calc(.78 + var(--aperture-close-progress) * .2)); }
.aperture-inquiry__mark::after { transform: rotate(calc(-31deg + var(--aperture-close-progress) * 13deg)) scaleX(calc(.78 + var(--aperture-close-progress) * .2)); }
.aperture-inquiry__mark span { position: relative; z-index: 2; color: var(--aperture-red); font-size: clamp(8rem,24vw,24rem); font-weight: 800; line-height: 1; }
.aperture-inquiry__inner { position: relative; z-index: 4; width: min(68rem,100%); padding: 4rem; background: #ece8dfed; }
.aperture-inquiry h2 { margin: 1.5rem 0 2rem; font-size: clamp(3.4rem,7vw,7.2rem); font-weight: 620; line-height: .96; letter-spacing: -.08em; }
.aperture-inquiry__inner > a { display: flex; max-width: 42rem; min-height: 64px; padding: .5rem 0; justify-content: space-between; align-items: center; border-bottom: 2px solid currentColor; color: inherit; font-size: clamp(1rem,2vw,1.5rem); text-decoration: none; }
.aperture-inquiry__inner > a span { font-size: 2rem; }
.aperture-inquiry__inner > p:last-child { max-width: 38rem; color: #5a4c46; font-size: .82rem; }
.aperture-footer { background: #151515; color: #eeeae4; }

@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion:no-preference) and (min-width:861px) {
    .aperture-conviction h2 > * { animation: aperture-line linear both; animation-timeline: view(); animation-range: entry 12% cover 49%; }
    .aperture-conviction h2 > :nth-child(2) { animation-range: entry 22% cover 58%; }
    .aperture-conviction h2 > :nth-child(3) { animation-range: entry 31% cover 67%; }
    @keyframes aperture-line { from { opacity: .05; transform: translate3d(-3rem,0,0); } to { opacity: 1; transform: none; } }
  }
}

@media (hover:hover) and (pointer:fine) {
  .aperture-facet { transition: filter .35s; }
  .aperture-facet-controls button { transition: background-color .25s,color .25s; }
  .aperture-specimen { transition: transform .55s cubic-bezier(.2,.8,.2,1); }
  .aperture-specimen:hover { transform: translate3d(0,-.65rem,0); }
}

@media (max-width: 860px) {
  .aperture-v2 [id] { scroll-margin-top: 8.5rem; }
  .aperture-v2 .demo-nav { gap: .35rem 1rem; }
  .aperture-v2 .demo-nav nav { width: 100%; max-width: 100%; gap: .75rem; justify-content: space-between; overflow: visible; }
  .aperture-v2 .demo-nav nav a:last-child { position: absolute; top: 1.2rem; right: 1.25rem; }
  .aperture-v2 .demo-nav nav::-webkit-scrollbar { display: none; }
  .aperture-v2 .demo-nav nav a { flex: 0 0 auto; }
  .aperture-opening { min-height: 0; padding: 2.5rem 1rem 4rem; }
  .aperture-opening__meta { font-size: .56rem; }
  .aperture-opening h1 { margin: 2rem 0 .8rem; font-size: clamp(4.1rem,20vw,7rem); }
  .aperture-opening__art { height: 34rem; min-height: 0; }
  .aperture-opening__art img { object-position: 62% center; }
  .aperture-opening__foot { flex-direction: column; }
  .aperture-conviction { height: 150svh; }
  .aperture-conviction__sticky { padding: 18vh 1rem 9vh; }
  .aperture-conviction h2 { min-width: 0; font-size: clamp(2.6rem,10vw,5rem); }
  .aperture-conviction h2 span,.aperture-conviction h2 strong { width: auto; max-width: 100%; }
  .aperture-conviction h2 span:nth-child(2) { margin-left: 0; }.aperture-conviction h2 strong { margin-left: 0; margin-top: .55em; }
  .aperture-conviction__sticky > p:last-child { font-size: .95rem; }
  .aperture-cut { height: 255svh; }
  .aperture-cut__sticky { min-height: 100svh; }
  .aperture-cut__top { top: calc(var(--aperture-nav-height,8.8rem) + 1rem); right: 1rem; left: 1rem; }
  .aperture-cut__top > span { max-width: 16ch; text-align: right; }
  .aperture-object { top: 46%; left: 57%; width: min(94vw,31rem); height: auto; }
  .aperture-cut__chapters { right: 1rem; bottom: 8.5rem; left: 1rem; width: auto; }
  .aperture-cut__chapters article { padding: 1rem; }
  .aperture-cut__chapters h2 { font-size: clamp(1.9rem,8vw,3.2rem); }
  .aperture-facet-controls { right: 1rem; bottom: 2rem; left: 1rem; overflow-x: auto; }
  .aperture-facet-controls button { flex: 1 0 auto; }
  .aperture-cut__status { right: 1rem; bottom: 6.1rem; left: 1rem; max-width: none; text-align: left; }
  .aperture-specimens { height: auto; padding: 5rem 0; }
  .aperture-specimens__sticky { position: relative; height: auto; min-height: 0; padding: 0; overflow: visible; }
  .aperture-specimens__heading { padding: 0 1rem; align-items: start; flex-direction: column; gap: 1rem; }
  .aperture-specimens__heading h2 { font-size: clamp(2.7rem,11vw,4.7rem); }
  .aperture-specimens__viewport { overflow-x: auto; padding: .5rem 1rem 1.5rem; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .aperture-specimens__viewport::-webkit-scrollbar { display: none; }
  .aperture-specimens__rail { grid-template-columns: repeat(5,min(84vw,26rem)); gap: .75rem; transform: none; }
  .aperture-specimen { min-height: 29rem; scroll-snap-align: center; }
  .aperture-practice-v2 { min-height: 0; padding: 6rem 1rem; grid-template-columns: 1fr; gap: 2rem; }
  .aperture-practice-v2__lead { position: relative; top: auto; }
  .aperture-practice-v2 h2 { font-size: clamp(2.8rem,11vw,4.7rem); }
  .aperture-process li { min-height: 15rem; grid-template-columns: 4rem 1fr; }
  .aperture-process li > b { position: absolute; right: 0; bottom: 1rem; font-size: 5rem; }
  .aperture-inquiry { min-height: 95svh; padding: 6rem 1rem; }
  .aperture-inquiry__mark::before,.aperture-inquiry__mark::after { width: 90vw; height: 8rem; }
  .aperture-inquiry__inner { padding: 2rem 1rem; }
  .aperture-inquiry h2 { font-size: clamp(3rem,13vw,5.3rem); }
}

@media (max-width: 370px) {
  .aperture-opening h1 { font-size: 4rem; }
  .aperture-opening__art { height: 30rem; }
  .aperture-object { width: 98vw; top: 47%; }
  .aperture-facet-controls { scrollbar-width: none; }
}

@media (prefers-reduced-motion: reduce) {
  .aperture-conviction,.aperture-cut { height: auto; }
  .aperture-conviction__sticky,.aperture-cut__sticky { position: relative; min-height: 100svh; }
  .aperture-facet--back { transform: translateZ(-18px); }
  .aperture-facet--left { transform: rotateZ(120deg) translateZ(20px); }
  .aperture-facet--right { transform: rotateZ(240deg) translateZ(50px); }
  .aperture-cut__chapters { position: relative; right: auto; bottom: auto; left: auto; z-index: 9; display: grid; gap: .5rem; width: auto; padding: 30rem 1rem 8rem; }
  .aperture-cut__chapters article { position: relative; opacity: 1; transform: none; }
  .aperture-specimens { height: auto; padding: 5rem 0; }
  .aperture-specimens__sticky { position: relative; height: auto; min-height: 0; overflow: visible; }
  .aperture-specimens__viewport { overflow-x: auto; }
  .aperture-specimens__rail { transform: none; }
  .aperture-v2 .aperture-cut__sticky { height: auto; min-height: 0; padding-bottom: 2rem; }
  .aperture-v2 .aperture-object { position: relative; top: auto; left: auto; width: min(88vw,32rem); margin: 10rem auto 2rem; transform: perspective(1100px) rotateX(-12deg) rotateZ(-15deg); }
  .aperture-v2 .aperture-cut__chapters { padding: 0 1rem; }
  .aperture-v2 .aperture-facet-controls { position: relative; inset: auto; width: max-content; max-width: calc(100% - 2rem); margin: 2rem auto 0; }
  .aperture-v2 .aperture-cut__status { position: relative; inset: auto; width: auto; max-width: 38rem; margin: 1rem; text-align: center; }
  .aperture-opening__art::after { display: none; }
}

html:not(.demo-enhanced) .aperture-v2 .aperture-cut__sticky { height: auto; min-height: 0; padding-bottom: 2rem; }
html:not(.demo-enhanced) .aperture-v2 .aperture-object { position: relative; top: auto; left: auto; width: min(88vw,32rem); margin: 10rem auto 2rem; transform: perspective(1100px) rotateX(-12deg) rotateZ(-15deg); }
html:not(.demo-enhanced) .aperture-v2 .aperture-cut__chapters { padding: 0 1rem; }

@media (max-height: 600px) {
  .aperture-v2 .aperture-cut__sticky { height: auto; min-height: 0; padding-block: 2rem; }
  .aperture-v2 .aperture-object { position: relative; top: auto; left: auto; width: min(65vw,28rem); margin: 10rem auto 2rem; transform: perspective(1100px) rotateX(-12deg) rotateZ(-15deg); }
  .aperture-v2 .aperture-cut__chapters { padding: 0 1rem; }
  .aperture-v2 .aperture-facet-controls { position: relative; inset: auto; width: max-content; max-width: calc(100% - 2rem); margin: 2rem auto 0; }
  .aperture-v2 .aperture-cut__status { position: relative; inset: auto; max-width: none; margin: 1rem; text-align: center; }
}

/* A native editorial gallery: each surface has its own composition and scale. */
.aperture-cut__chapters article { transition:transform .24s cubic-bezier(.23,1,.32,1); }
.aperture-gallery { padding:clamp(4rem,7vw,8rem) 4vw; background:#e8e6e0; }
.aperture-gallery__heading { display:flex; align-items:end; justify-content:space-between; gap:3rem; margin-bottom:4rem; }
.aperture-gallery__heading h2 { margin:0; font-size:clamp(2.6rem,4.8vw,5rem); line-height:1.07; letter-spacing:-.065em; font-weight:600; }
.aperture-gallery__heading h2 em { font:italic 400 1em/1.07 Georgia,serif; }
.aperture-gallery__heading > p { max-width:33ch; color:#57524e; font-size:.95rem; }
.aperture-gallery__grid { display:grid; grid-template-columns:1.12fr 1fr; gap:3.5rem 2rem; align-items:start; }
.aperture-application { min-width:0; margin:0; }
.aperture-application figcaption { display:flex; justify-content:space-between; gap:1rem; padding:.85rem 0; border-bottom:1px solid #27211d35; font-size:.8rem; }
.aperture-application figcaption span:last-child { color:#68615b; text-align:right; }
.application-art { position:relative; isolation:isolate; overflow:hidden; min-height:30rem; padding:2rem; }
.application-art > span { position:relative; z-index:2; display:block; font-size:.65rem; letter-spacing:.09em; }
.application-art h3 { position:relative; z-index:2; margin:1.5rem 0; font-size:clamp(2.8rem,5vw,5.2rem); font-weight:650; letter-spacing:-.075em; line-height:.95; }
.application-art h3 em { font-family:Georgia,serif; font-weight:400; }
.application-art > img { position:absolute; width:65%; height:auto; object-fit:contain; }
.application-art p { position:relative; z-index:2; font-size:.7rem; line-height:1.7; letter-spacing:.03em; }
.application-poster .application-art { aspect-ratio:4/5; background:#dad6cb; color:#161512; }
.application-poster img { width:77%; right:-8%; bottom:3%; transform:rotate(12deg); }
.application-poster .application-art > p { position:absolute; bottom:1.5rem; left:2rem; }
.application-editorial { margin-top:7rem; }
.application-editorial .application-art { display:grid; min-height:0; aspect-ratio:1/1.17; place-items:center; padding:3rem; background:#b7b2aa; perspective:1200px; }
.aperture-cover { position:relative; width:89%; aspect-ratio:3/4; overflow:hidden; padding:1.3rem; background:#272321; color:#e8e0d7; border-left:5px solid #423a35; transform:rotateY(-11deg) rotateZ(7deg); box-shadow:1rem 1.5rem 2rem #28221e44; }
.aperture-cover > span { display:block; font-size:.6rem; letter-spacing:.12em; }
.aperture-cover h3 { margin:1.2rem 0; font-size:clamp(2.5rem,4.3vw,4.4rem); }
.aperture-cover img { position:absolute; width:117%; height:auto; bottom:-34%; right:-35%; transform:rotate(-25deg); }
.aperture-cover p { position:absolute; left:1.3rem; bottom:1rem; font-size:.6rem; }
.application-digital { grid-column:1/-1; }
.application-digital .application-art { min-height:34rem; padding:2rem 3rem; color:#191716; background:#f4f1e9; }
.application-digital__copy { position:relative; z-index:2; max-width:55%; padding-top:3rem; }
.application-digital__copy p { font-size:1rem; color:#645a52; margin:1.8rem 0; }
.application-digital__copy a { display:inline-flex; min-height:44px; align-items:center; color:inherit; text-underline-offset:6px; font-size:.85rem; }
.application-digital img { right:5%; top:6%; width:35%; transform:rotate(18deg); }
.application-social .application-art { aspect-ratio:1; background:#ae211c; color:#fbede7; }
.application-social img { width:94%; top:12%; right:-35%; transform:rotate(-18deg); }
.application-social h3 { margin-top:5rem; font-size:clamp(4rem,7vw,7rem); }
.application-social .application-art > p { position:absolute; bottom:1.25rem; }
.application-motion { margin-top:4rem; }
.application-motion .application-art { aspect-ratio:1; background:#161414; color:#eee7de; }
.application-motion img { width:58%; top:18%; right:6%; transform:rotate(-12deg); }
.application-motion h3 { margin-top:2.5rem; font-size:clamp(3rem,4.5vw,4.8rem); }
.application-motion button { position:absolute; z-index:3; bottom:1.5rem; left:2rem; min-height:44px; padding:.55rem .8rem; border:1px solid #a69789; background:#191616; color:#eee7de; cursor:pointer; font-size:.8rem; }
.application-motion.is-playing img { animation:ribbon-ident 1.8s cubic-bezier(.2,.7,.2,1) both; }
@keyframes ribbon-ident { 0% { transform:rotate(-12deg) translateY(0); } 40% { transform:rotate(17deg) translateY(-6%) scale(.86); } 100% { transform:rotate(-12deg) translateY(0); } }
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
 .aperture-cover { transition:transform .25s cubic-bezier(.23,1,.32,1); }
 .application-editorial:hover .aperture-cover { transform:rotateY(0) rotateZ(1deg) translateY(-.5rem); }
 .application-social img { transition:transform .25s; }
 .application-social:hover img { transform:rotate(-10deg) translateX(-4%); }
}
@media (max-width:860px) {
 .aperture-object.aperture-ribbon { top:42%; left:54%; width:min(57vw,20rem); }
 .aperture-ribbon .ribbon-note { font-size:.65rem; padding:.5rem; }
 .aperture-gallery { padding:4rem 1rem; }
 .aperture-gallery__heading { display:block; margin-bottom:2rem; }
 .aperture-gallery__heading > p { margin-top:1.5rem; max-width:45ch; }
 .aperture-gallery__grid { grid-template-columns:1fr; gap:2rem; }
 .aperture-application { margin-top:0; }
 .application-art { min-height:0; padding:1.3rem; }
 .application-art h3 { font-size:clamp(3rem,12vw,5rem); }
 .application-editorial .application-art { padding:2rem; }
 .aperture-cover h3 { font-size:clamp(2.8rem,11vw,4.5rem); }
 .application-digital .application-art { min-height:29rem; padding:1.5rem; }
 .application-digital__copy { padding-top:1rem; max-width:100%; }
 .application-digital__copy h3 { font-size:clamp(2.8rem,11vw,4rem); }
 .application-digital img { width:43%; right:2%; top:auto; bottom:-3%; }
 .application-digital__copy p { max-width:21ch; }
 .application-social h3 { margin-top:3rem; font-size:clamp(3.5rem,18vw,6rem); }
 .application-motion button { left:1.3rem; bottom:1rem; }
 .aperture-application figcaption { font-size:.75rem; }
}
@media (prefers-reduced-motion:reduce) {
 .aperture-v2 .aperture-object.aperture-ribbon { position:relative; top:auto; left:auto; width:min(60vw,25rem); margin:10rem auto 2rem; transform:none; }
 .application-motion.is-playing img { animation:none; }
 .aperture-cover { transform:none; }
}
@media (max-width:600px) {
 .aperture-v2 .demo-nav { flex-wrap:nowrap; min-height:4rem; padding:.55rem .75rem; gap:.6rem; }
 .aperture-v2 .demo-nav > a { font-size:1.6rem; }
 .aperture-v2 .demo-nav nav { width:auto; gap:.65rem; }
 .aperture-v2 .demo-nav nav a { font-size:.72rem; }
 .aperture-v2 .demo-nav nav a:first-child,.aperture-v2 .demo-nav nav a:nth-child(3) { display:none; }
 .aperture-v2 .demo-nav nav a:last-child { position:static; }
}
html:not(.demo-enhanced) .aperture-v2 .aperture-object.aperture-ribbon,
.aperture-v2:not(.aperture-motion-ready) .aperture-object.aperture-ribbon { position:relative; top:auto; left:auto; width:min(60vw,25rem); margin:10rem auto 2rem; transform:none; }
.aperture-v2:not(.aperture-motion-ready) .aperture-cut__chapters { padding-top:0; }
@media (max-height:600px) {
 .aperture-v2 .aperture-object.aperture-ribbon { position:relative; top:auto; left:auto; width:min(50vw,23rem); margin:8rem auto 2rem; transform:none; }
}
