/* Local membership concept: all locked thumbnails are abstract CSS artwork. */
.noir .noir-remix{position:relative;isolation:isolate;min-height:860px;display:block;background:radial-gradient(ellipse at 20% 10%,#8b283f 0,#481622 40%,#160e13 80%);overflow:hidden}
.noir-backword{position:absolute;top:-35px;left:3%;font:500 clamp(180px,24vw,355px)/1 Georgia,serif;letter-spacing:-22px;color:#f7d0c526;z-index:-1;pointer-events:none}
.noir-edition{position:absolute;left:5%;top:35px;letter-spacing:3px;font-size:10px;color:#edb7c1}
.noir-remix .noir-intro{position:relative;z-index:3;background:transparent;width:49%;padding:215px 0 115px 5%;pointer-events:none}
.noir-remix .noir-intro a{pointer-events:auto}
.noir .noir-remix h1{font-size:clamp(76px,8vw,122px);text-shadow:0 5px 35px #24071255;letter-spacing:-5px}
.noir-remix .noir-intro .eyebrow{font-size:9px;letter-spacing:2px}
.noir-remix .noir-intro .intro{max-width:290px;font-size:16px}
.noir-gallery-link{font-size:12px;color:#f3d3d9;margin-top:24px;text-underline-offset:5px;text-decoration:underline;padding:8px 0}
.noir-cutout{position:absolute;right:3%;top:75px;width:49%;margin:0;transform:rotate(3deg);border:1px solid #e5a7b745;box-shadow:0 25px 70px #05020488;z-index:1}
.noir-cutout img{display:block;width:100%;height:auto;aspect-ratio:798 / 870;object-fit:cover;object-position:center bottom}
.noir-floating-pass{position:absolute;right:4%;bottom:50px;z-index:4;background:#eddfcb;color:#411d28;padding:24px 30px;min-width:245px;transform:rotate(-7deg);box-shadow:0 10px 35px #0005;border:1px solid #fff4;transition:transform .2s}
.noir-floating-pass:hover{transform:rotate(-3deg);opacity:1}.noir-floating-pass>span{display:block;font-size:9px;letter-spacing:1.5px}.noir-floating-pass strong{display:block;font:italic 31px/1.1 Georgia,serif;margin:18px 0}
.private-gallery{max-width:1280px;margin:auto;padding:85px 5% 65px;scroll-margin-top:65px}
.private-heading{display:flex;justify-content:space-between;gap:45px;align-items:end;margin-bottom:45px}.private-heading .eyebrow{color:#df9eaf}.private-heading h2{font:clamp(35px,4vw,58px)/1.08 Georgia,serif;letter-spacing:-2px;margin:0}.private-heading h2 em{color:#e5b7c3}.private-summary p{font-size:14px;line-height:1.7;color:#cbb8bd;margin-top:0}.private-summary .noir-button{width:100%}
.member-login{display:block;background:none;border:0;color:#e6c1cc;font:12px/1.5 Arial,sans-serif;padding:12px 0;min-height:44px;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.gallery-toolbar{display:flex;justify-content:space-between;align-items:center;padding:20px 0;border-top:1px solid #56353f;border-bottom:1px solid #56353f;font-size:10px;letter-spacing:2px}.gallery-state{display:flex;align-items:center;gap:9px;letter-spacing:.4px;color:#dcb7c2}.gallery-state svg{width:13px;height:16px}.gallery-demo-note{font-size:11px;color:#bca6ae;margin:15px 0 27px}
.private-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 24px}.private-grid[hidden],.member-demo-output[hidden]{display:none}
.private-card{min-width:0}.locked-preview{position:relative;display:block;overflow:hidden;isolation:isolate;width:100%;aspect-ratio:4/5;border:1px solid #ffffff17;background:#402732;color:#f4e8e6;cursor:pointer;font-family:inherit;transition:border-color .2s,transform .2s;text-align:left}
.locked-preview:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 52% 33%,#c99c8270 0,transparent 28%),radial-gradient(ellipse at 35% 85%,#8e465961,transparent 55%),linear-gradient(130deg,#291321,#623644 60%,#181120);filter:blur(14px);transform:scale(1.15)}
.locked-preview.sand:before{background:radial-gradient(ellipse at 60% 40%,#d1b29590,transparent 40%),linear-gradient(35deg,#22201e,#655247,#302325)}.locked-preview.violet:before{background:radial-gradient(ellipse at 25% 70%,#98748790,transparent 50%),linear-gradient(20deg,#171223,#4c344b,#1d151d)}.locked-preview.rose:before{background:radial-gradient(ellipse at 60% 20%,#b57d6970,transparent 45%),linear-gradient(40deg,#251319,#63373e)}.locked-preview.olive:before{background:radial-gradient(ellipse at 50% 50%,#b1a28380,transparent 45%),linear-gradient(40deg,#192121,#3d453b)}.locked-preview.night:before{background:radial-gradient(ellipse at 60% 50%,#b2796350,transparent 50%),linear-gradient(30deg,#211225,#47303a)}
.locked-preview:hover{border-color:#e6beca;transform:translateY(-3px)}.post-index{position:absolute;top:18px;left:18px;font-size:9px;letter-spacing:2px;color:#eddfdfb0}.locked-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px}.locked-center>svg{margin-bottom:6px}.locked-center strong{font:italic 27px Georgia,serif}.locked-center>span{font-size:10px;padding:9px 13px;border:1px solid #dcc4cc60;border-radius:20px}.preview-label{position:absolute;bottom:20px;left:20px;font-size:8px;letter-spacing:2px}
.private-caption{padding:20px 2px 0}.private-type{font-size:8px;letter-spacing:1.6px;color:#d99aad}.private-caption h3{font:23px/1.2 Georgia,serif;margin:10px 0}.private-caption p{font-size:13px;line-height:1.65;color:#bba8b0;margin:0}.private-bottom{border-top:1px solid #51323c;margin-top:42px;padding-top:28px;display:flex;align-items:center;justify-content:space-between;gap:25px}.private-bottom p{font:italic 24px Georgia,serif}
.membership-dialog{position:fixed;inset:0;width:min(490px,calc(100% - 32px));max-height:calc(100dvh - 40px);margin:auto;padding:42px;color:#f8eee4;background:#29151e;border:1px solid #865664;border-radius:0;overflow:auto}.membership-dialog::backdrop{background:#080307d9;backdrop-filter:blur(8px)}.membership-dialog h2{font:50px/1 Georgia,serif;margin:20px 0}.membership-dialog h2 em{color:#e4a6b4}.membership-dialog p,.membership-dialog li{font-size:14px;line-height:1.7;color:#d5bdc6}.membership-dialog ul{padding-left:18px}.membership-dialog .noir-button{width:100%;border:0;cursor:pointer}.membership-dialog small{display:block;margin-top:14px;font-size:11px;color:#c6aab6;line-height:1.6}.membership-close{position:absolute;right:10px;top:10px;width:44px;height:44px;background:transparent;border:0;color:#fff;font-size:27px;cursor:pointer}.membership-notice{padding:17px;background:#ffffff07;border:1px solid #7f5262;margin:25px 0}.membership-notice strong{font-size:12px}.membership-notice p{font-size:12px;margin-bottom:0}.membership-dialog .eyebrow{font-size:9px;color:#e0b3c2}
.demo-access-note{display:flex;justify-content:space-between;align-items:center;gap:15px;background:#30202a;border:1px solid #634050;padding:18px;margin-bottom:22px;font-size:11px;line-height:1.8}.demo-access-note small{color:#c9afbd}.demo-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.demo-photo-grid figure{margin:0}.demo-photo-grid img{width:100%;height:auto}.demo-photo-grid figcaption{font:23px Georgia,serif;padding:15px 0}
.noir button:focus-visible,.noir a:focus-visible{outline:2px solid #f3d3a8;outline-offset:5px}
@media(max-width:1000px) and (min-width:801px){.noir .noir-remix{min-height:770px}.noir-remix .noir-intro{padding-top:170px}.noir .noir-remix h1{font-size:86px}.noir-cutout{top:120px}.noir-floating-pass{bottom:30px}}
@media(max-width:800px){.noir-header nav{gap:18px}.noir-header nav>a{font-size:10px}.noir .noir-remix{display:block;min-height:0;overflow:hidden;padding-bottom:0}.noir-backword{top:40px;left:0;font-size:40vw;letter-spacing:-12px}.noir-edition{top:23px;font-size:8px}.noir-cutout{position:relative;top:auto;right:auto;margin:88px 5% 0 13%;width:80%;transform:rotate(3deg)}.noir-remix .noir-intro{width:100%;padding:25px 7% 40px;margin-top:15px;background:transparent}.noir .noir-remix h1{font-size:80px;letter-spacing:-4px}.noir-remix .noir-intro .intro{max-width:360px}.noir-floating-pass{top:360px;bottom:auto;right:auto;left:3%;padding:16px 20px;min-width:180px}.noir-floating-pass strong{font-size:25px;margin:13px 0}.noir-floating-pass>span{font-size:8px}.private-gallery{padding:50px 6%}.private-heading{display:block;margin-bottom:25px}.private-heading h2{font-size:39px}.private-summary{margin-top:25px}.private-summary .noir-button{max-width:320px}.private-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 14px}.private-caption h3{font-size:21px}.private-caption p{font-size:12px}.locked-center strong{font-size:20px}.locked-center>span{font-size:8px;padding:8px}.post-index{font-size:7px;left:11px;top:13px}.preview-label{font-size:7px;bottom:12px;left:11px}.private-bottom{display:block}.private-bottom p{font-size:23px}.gallery-toolbar{font-size:9px;letter-spacing:1px}.membership-dialog{padding:35px 24px}.demo-photo-grid{grid-template-columns:1fr}.demo-access-note{display:block}}
/* Noir typography: clean sans-serif, no decorative serif or italic headings. */
.noir{--noir-font:"Segoe UI","Helvetica Neue",Arial,sans-serif;font-family:var(--noir-font)}
.noir .noir-wordmark,.noir .noir-backword,.noir .logo,
.noir .noir-remix h1,.noir .noir-intro h1,.noir .private-heading h2,
.noir .noir-about h2,.noir .noir-line h3,.noir .noir-closing h2,
.noir .noir-floating-pass strong,.noir .locked-center strong,
.noir .private-caption h3,.noir .private-bottom p,
.noir .membership-dialog h2,.noir .demo-photo-grid figcaption,
.noir .chat-welcome h2,.noir .chat-heading h1,.noir .noir-line>span,
.noir .chat-symbol{font-family:var(--noir-font);font-style:normal;font-weight:600}
.noir em{font-style:normal}
.noir .noir-backword{font-weight:800;letter-spacing:-.065em}
.noir .noir-remix h1{font-size:clamp(64px,7.3vw,104px);line-height:1.02;letter-spacing:-.055em;font-weight:700}
.noir .private-heading h2,.noir .noir-about h2,.noir .noir-closing h2{letter-spacing:-.04em;line-height:1.12}
.noir .private-caption h3{font-size:21px;line-height:1.25;letter-spacing:-.025em}
.noir .noir-floating-pass strong{font-size:28px;letter-spacing:-.04em;line-height:1.12}
.noir .locked-center strong{font-size:23px;letter-spacing:-.035em}
.noir .private-bottom p{font-size:22px;letter-spacing:-.025em}
@media(max-width:800px){.noir .noir-remix h1{font-size:clamp(58px,12vw,80px)}.noir .private-caption h3{font-size:19px}.noir .locked-center strong{font-size:19px}.noir .noir-floating-pass strong{font-size:23px}}
@media(prefers-reduced-motion:reduce){.locked-preview:hover,.noir-floating-pass:hover{transform:none}}
