/* Cinematic Filters v0.1.0 */
.cf-root{--cf-text:#f4f0e8;--cf-accent:#b6a58b;max-width:1400px;margin-inline:auto;padding:clamp(20px,4vw,64px);background:#0b0c0f;color:var(--cf-text)}
.cf-heading h2{font-size:clamp(2rem,6vw,5.6rem);font-weight:300;letter-spacing:-.035em;line-height:1.1;margin:0 0 1rem;color:var(--cf-text)}
.cf-heading p{max-width:720px;color:#b0b0b3;margin:0 0 2rem;font-size:clamp(.95rem,1.5vw,1.15rem)}
.cf-options{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:clamp(18px,2.5vw,30px)}
.cf-filter{font:inherit;font-size:.8rem;letter-spacing:.07em;color:var(--cf-text);background:transparent;border:1px solid #55545b;padding:.75rem 1.05rem;cursor:pointer;border-radius:2px;transition:background .2s ease,color .2s ease,border-color .2s ease}
.cf-filter:hover,.cf-filter[aria-pressed=true]{background:var(--cf-text);color:#0b0c0f;border-color:var(--cf-text)}
.cf-filter:focus-visible,.cf-slider:focus-visible{outline:3px solid var(--cf-accent);outline-offset:3px}
.cf-comparison{position:relative;width:100%;aspect-ratio:3 / 2;background:#16171c;overflow:hidden;isolation:isolate;touch-action:pan-y}
.cf-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;user-select:none;-webkit-user-drag:none;pointer-events:none}
.cf-before{position:absolute;inset:0;z-index:1;clip-path:inset(0 calc(100% - var(--cf-pos)) 0 0);pointer-events:none}
.cf-divider{position:absolute;top:0;bottom:0;left:var(--cf-pos);transform:translateX(-50%);width:2px;background:rgba(255,255,255,.96);box-shadow:0 0 8px #0008;z-index:3;pointer-events:none}
.cf-grip{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#f4f0e8;color:#0b0c0f;font-size:11px;letter-spacing:3px;box-shadow:0 3px 25px #0008;padding-left:3px}
.cf-slider{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;z-index:4;margin:0;touch-action:pan-y;appearance:none;-webkit-appearance:none}
.cf-slider::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:40px;height:70px;background:transparent;border:0}
.cf-slider::-moz-range-thumb{width:40px;height:70px;background:transparent;border:0}
.cf-caption{position:absolute;top:18px;z-index:2;font-size:.67rem;letter-spacing:.16em;background:rgba(11,12,15,.65);color:#fff;padding:.5rem .7rem;pointer-events:none}.cf-caption-left{left:18px}.cf-caption-right{right:18px}
.cf-foot{display:flex;justify-content:space-between;gap:1rem;margin-top:13px;color:var(--cf-accent);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase}
.cf-empty{padding:2rem;border:1px solid #3b3b3b;color:#dfdfdf}
@media(max-width:700px){.cf-root{padding:24px 16px}.cf-comparison{aspect-ratio:4 / 5}.cf-filter{font-size:.75rem;padding:.65rem .85rem}.cf-caption{top:8px;font-size:.55rem;padding:.4rem}.cf-caption-left{left:8px}.cf-caption-right{right:8px}}
@media(prefers-reduced-motion:reduce){.cf-root *, .cf-root *::before,.cf-root *::after{transition:none!important;animation:none!important}}

/* v0.1.1: rich-text introduction, matching gallery collections */
.cf-heading .cf-intro{max-width:720px;color:#b0b0b3;font-size:clamp(.95rem,1.5vw,1.15rem);line-height:1.65;margin:0 0 2rem}
.cf-heading .cf-intro p{margin:0 0 .85em;color:inherit;font-size:inherit;line-height:inherit}
.cf-heading .cf-intro p:last-child{margin-bottom:0}
.cf-heading .cf-intro strong,.cf-heading .cf-intro b{font-weight:700;color:#f4f0e8}
.cf-heading .cf-intro a{color:#b6a58b;text-decoration:underline;text-underline-offset:3px}
.cf-heading .cf-intro ul,.cf-heading .cf-intro ol{padding-left:1.4em}
