/* Álbumes Samvision: portadas completas, movimiento y navegación sencilla. */
.sv-album-page .sv-gallery-header, .sv-session-page .sv-gallery-header {
 position:sticky; top:16px; z-index:10; max-width:1400px; margin:16px auto 0;
 width:calc(100% - 48px); padding:20px 30px; border:1px solid #655640;
 border-radius:50px; background:rgba(25,25,22,.94); color:#eee5d4;
 backdrop-filter:blur(16px); box-shadow:0 8px 28px #19191615;
}
.sv-album-brand { display:flex; align-items:center; gap:12px; }
.sv-album-brand img { width:36px; height:36px; object-fit:contain; }
.sv-album-page .sv-client-directory { max-width:1400px; padding:76px 48px 60px; }
.sv-album-page .sv-gallery-heading { margin-bottom:48px; }
.sv-album-page .sv-eyebrow { color:#917344; letter-spacing:4px; }
.sv-album-page .sv-gallery-heading h1 { font-size:clamp(46px,7vw,88px); line-height:1.1; margin:22px 0; font-weight:300; }
.sv-album-page .sv-gallery-heading h1 em { color:#a07d45; font-family:Georgia,serif; font-weight:400; }
.sv-album-page .sv-gallery-heading p { font-size:15px; max-width:480px; line-height:1.8; }
.sv-album-page .sv-directory-toolbar { margin:0 0 32px; letter-spacing:1.5px; font-size:10px; text-transform:uppercase; }
.sv-album-page .sv-client-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:44px 30px; }
.sv-album-page .sv-client-grid.sv-masonry { grid-auto-rows:1px; row-gap:0; grid-auto-flow:row dense; align-items:start; }
.sv-masonry > .sv-album-reveal { padding-bottom:44px; min-width:0; }
.sv-album-page .sv-album-reveal.sv-visible { animation-delay:var(--sv-album-delay,0s); }
.sv-album-reveal:nth-child(2) { --sv-album-delay:.1s; }
.sv-album-reveal:nth-child(3) { --sv-album-delay:.2s; }
.sv-album-page .sv-client-grid .sv-card { background:transparent; border:0; border-radius:0; transition:transform .4s ease; }
.sv-album-cover { display:block; position:relative; overflow:hidden; border:1px solid #a99c83; border-radius:16px; background:transparent; }
.sv-album-page .sv-client-grid .sv-card img { width:100%; height:auto; aspect-ratio:auto; object-fit:contain; object-position:center; display:block; background:transparent; transition:filter .5s ease; }
.sv-album-open { position:absolute; bottom:18px; right:18px; padding:12px 18px; border-radius:30px; background:#ddc9a4; color:#191916; font-size:11px; letter-spacing:.6px; opacity:0; transform:translateY(10px); transition:opacity .35s ease,transform .35s ease; }
.sv-album-page .sv-card:hover, .sv-album-page .sv-card:focus-visible { transform:translateY(-6px); }
.sv-album-page .sv-card:hover .sv-album-open, .sv-album-page .sv-card:focus-visible .sv-album-open { opacity:1; transform:translateY(0); }
.sv-album-page .sv-card:hover img { filter:brightness(1.08); }
.sv-album-page .sv-card-info { padding:20px 2px 0; gap:8px; }
.sv-album-page .sv-card-info strong { font-size:23px; font-weight:400; }
.sv-album-page .sv-card-info > span { font-size:11px; color:#83735c; letter-spacing:1px; }
.sv-album-invitation { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:70px; padding:30px 0; border-top:1px solid #d8d0bf; }
.sv-album-invitation p { margin:0; font-family:Georgia,serif; font-size:clamp(22px,3vw,32px); color:#776043; }
.sv-album-invitation a { color:#29261e; font-size:12px; text-decoration:none; padding:14px 20px; border:1px solid #b49a71; border-radius:30px; transition:background .3s ease; }
.sv-album-invitation a:hover { background:#e6d7bb; }
.sv-session-page .sv-gallery-heading { margin:20px auto 34px; }
.sv-session-page .sv-gallery-heading h1 { font-size:clamp(36px,5vw,64px); }
.sv-session-page .sv-eyebrow { color:#917344; }
.sv-session-page .sv-track { background:#191916; border:1px solid #b8a584; }
.sv-session-page .sv-photo-tools button, .sv-session-page .sv-selection-bar button { border-color:#9b8158; }
.sv-session-page .sv-thumbs img { object-fit:contain; background:#191916; }
.sv-session-page .sv-thumbs .sv-active { border-color:#a9874f; }
.sv-session-page .sv-arrow { border-color:#b6a88f; }
.sv-redesign .sv-collections.sv-reveal { animation-duration:1s; }
.sv-redesign .portafolio .sv-collections { --sv-cover-height:340px; scrollbar-width:none; -ms-overflow-style:none; scroll-snap-type:none; cursor:grab; touch-action:pan-x pan-y; }
.sv-redesign .portafolio .sv-collections::-webkit-scrollbar { display:none; }
.sv-redesign .portafolio .sv-collections.sv-dragging { cursor:grabbing; user-select:none; }
.sv-redesign .portafolio .sv-collections .sv-card { flex:0 0 auto; width:calc(var(--sv-cover-ratio,.8) * var(--sv-cover-height)); }
.sv-redesign .portafolio .sv-collections .sv-card img { width:100%; height:var(--sv-cover-height); object-fit:cover; object-position:center; background:transparent; display:block; }
.sv-redesign .portafolio .sv-collections .sv-card-info { overflow-wrap:anywhere; }
@media (max-width:760px) { .sv-redesign .portafolio .sv-collections { --sv-cover-height:310px; } }
@media (max-width:1024px) { .sv-album-page .sv-client-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:600px) {
 .sv-album-page .sv-gallery-header, .sv-session-page .sv-gallery-header { top:10px; width:calc(100% - 24px); margin-top:10px; padding:16px 18px; }
 .sv-album-brand { gap:8px; } .sv-album-brand img { width:28px; height:28px; }
 .sv-album-page .sv-client-directory { padding:48px 24px 30px; }
 .sv-album-page .sv-client-grid { grid-template-columns:1fr; gap:36px; }
 .sv-masonry > .sv-album-reveal { padding-bottom:36px; }
 .sv-album-page .sv-gallery-heading { margin-bottom:34px; }
 .sv-album-page .sv-eyebrow { font-size:9px; letter-spacing:2px; }
 .sv-album-open { opacity:1; transform:none; }
 .sv-album-invitation { flex-direction:column; align-items:flex-start; margin-top:48px; }
}
@media (hover:none) { .sv-album-open { opacity:1; transform:none; } }
@media (prefers-reduced-motion:reduce) { .sv-album-page .sv-client-grid .sv-card, .sv-album-open, .sv-album-page .sv-client-grid .sv-card img, .sv-album-invitation a { transition:none; } }
