.portrait-collection{margin:32px 0 48px;padding:28px;border:1px solid #493348;border-radius:26px;background:radial-gradient(ellipse at top right,#3a213640,transparent 65%),#17121d}
.portrait-collection-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.portrait-collection-heading h2{font-size:clamp(1.5rem,2.4vw,2.3rem);line-height:1.2;margin:8px 0 12px;max-width:650px;letter-spacing:-.035em}.portrait-collection-heading .btn{white-space:nowrap}
.portrait-collection-note,.portrait-look-hint{max-width:760px;color:#c4b6ca;font-size:.85rem;line-height:1.65}.portrait-look-hint{margin:20px 0 0}.portrait-look-hint a{color:#f3abd2}
.portrait-moods{display:flex;gap:8px;margin:20px 0}.portrait-moods[hidden]{display:none}.portrait-moods button{font:inherit;font-size:.8rem;padding:10px 16px;color:#d6c9de;background:#241c2c;border:1px solid #49384f;border-radius:24px;cursor:pointer}.portrait-moods button[aria-pressed=true]{background:#704069;color:#fff;border-color:#ca80b1}
.portrait-look-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:22px}.portrait-look{margin:0;background:#241a29;border-radius:19px;overflow:hidden;border:1px solid #483147}.portrait-look[hidden]{display:none}.portrait-look-image{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;background:#2c2134}.portrait-look-image img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;display:block;transition:transform .35s}.portrait-look-image:hover img{transform:scale(1.035)}.portrait-look-ai{position:absolute;left:12px;top:12px;background:#17111bba;color:#fff;border:1px solid #ffffff30;padding:5px 8px;border-radius:20px;font-size:.65rem;backdrop-filter:blur(8px)}.portrait-look-expand{position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:35px;height:35px;border:1px solid #ffffff55;border-radius:50%;background:#18121caa;color:#fff;font-size:1.1rem}
.portrait-look figcaption{display:flex;justify-content:space-between;align-items:center;padding:16px;gap:10px}.portrait-look strong{font-size:1.05rem;color:#fff}.portrait-look small{font-size:.8rem;font-weight:400;color:#c7aec5;margin-left:5px}.portrait-look figcaption div>span{display:block;color:#c0abbf;font-size:.75rem;margin-top:4px}.portrait-look-spark{font-size:1.5rem;color:#ed96c4}
.portrait-gallery-nav{display:flex;flex-wrap:wrap;gap:18px;margin:22px 0;font-size:.85rem}.portrait-gallery-nav a{color:#dabbd6}.page-portrait-gallery .main{max-width:1400px;margin:auto}
.portrait-viewer{border:1px solid #674861;border-radius:22px;background:#17111b;color:#fff;padding:14px;width:min(600px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;box-sizing:border-box}.portrait-viewer::backdrop{background:#08060be8;backdrop-filter:blur(10px)}.portrait-viewer-bar{display:flex;align-items:center;justify-content:space-between;gap:12px}.portrait-viewer h2{font-size:.85rem;line-height:1.5;margin:0 0 10px}.portrait-viewer button{width:44px;height:44px;min-width:44px;border:1px solid #694b67;border-radius:50%;background:#332137;color:#fff;cursor:pointer;font:inherit;font-size:1.4rem}.portrait-viewer>img{display:block;max-width:100%;max-height:70dvh;margin:auto;border-radius:12px;object-fit:contain}.portrait-viewer-nav{display:flex;justify-content:space-between;align-items:center;margin-top:12px;color:#cdb8ca;font-size:.85rem}
.portrait-look-image:focus-visible,.portrait-moods button:focus-visible,.portrait-viewer button:focus-visible{outline:3px solid #ffc2e4;outline-offset:3px}
.page-discover .discovery-card,.page-romance .romance-card{box-shadow:0 12px 36px #08060c22;transition:border-color .2s,box-shadow .2s}.page-discover .discovery-card:hover,.page-romance .romance-card:hover{border-color:#956387;box-shadow:0 18px 40px #08060c50}.page-romance .romance-image{aspect-ratio:4/5}.page-romance .romance-card-body p{min-height:0;line-height:1.65}.page-romance .romance-caption{background:linear-gradient(transparent,#120c16bd);padding:34px 15px 16px;left:0;right:0;bottom:0}.page-romance .romance-caption h2{font-size:1.4rem}.page-romance .romance-caption p{margin:5px 0 0}
@media(max-width:1000px){.portrait-look-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portrait-collection-heading{align-items:flex-start}.portrait-collection-heading .btn{font-size:.8rem}}
@media(max-width:600px){.portrait-collection{padding:18px;margin:24px 0 32px;border-radius:20px}.portrait-collection-heading{display:block}.portrait-collection-heading .btn{margin-top:8px}.portrait-look-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:12px}.portrait-look{flex:0 0 82%;scroll-snap-align:start}.portrait-look[hidden]{display:none}.portrait-moods{overflow-x:auto}.portrait-moods button{white-space:nowrap}.portrait-viewer>img{max-height:65dvh}.page-romance .romance-gallery{gap:14px}.page-romance .romance-caption h2{font-size:1.15rem}.page-romance .romance-card-body p{font-size:.85rem}.portrait-collection-note{font-size:.8rem}}
@media(prefers-reduced-motion:reduce){.portrait-look-image img,.page-discover .discovery-card,.page-romance .romance-card{transition:none}.portrait-look-image:hover img{transform:none}}
@media(max-width:600px){.page-portrait-gallery .main,.page-discover .main{width:100%;max-width:100%;box-sizing:border-box;padding-left:16px;padding-right:16px}.portrait-collection{max-width:100%;min-width:0;box-sizing:border-box}.portrait-look-grid{max-width:100%;min-width:0}}
@media(max-width:600px){.portrait-moods,.portrait-look-grid{scrollbar-width:none}.portrait-moods::-webkit-scrollbar,.portrait-look-grid::-webkit-scrollbar{display:none}}
