.sa-albums{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch;width:100%;margin:0}.sa-albums .sa-album{display:flex;flex-direction:column;min-width:0;color:inherit;text-decoration:none;border:1px solid #dce3d5;border-radius:10px;overflow:hidden;background:#fff;transition:box-shadow .18s,border-color .18s}.sa-album:hover{border-color:#9daf91;box-shadow:0 7px 22px #132d2610}.sa-album .sa-card-media{padding:0;position:relative;aspect-ratio:4/3;overflow:hidden;background:#e8eee0;display:flex;align-items:center;justify-content:center}.sa-card-media>img{display:block;width:100%;height:100%;object-fit:cover}.sa-cover-placeholder{color:#5f7453;font-size:13px}.sa-card-play{position:absolute;right:15px;bottom:15px;border:1px solid #ffffff99;border-radius:50%;width:42px;height:42px;display:grid;place-content:center;background:#163b2cba;color:#fff;font-size:14px}.sa-album .sa-album-body{padding:21px;display:flex;flex:1;flex-direction:column}.sa-card-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;font-size:10px;color:#617158}.sa-album h3{font:inherit;font-weight:600;font-size:24px;line-height:1.18;letter-spacing:-.03em;margin:0 0 12px}.sa-album p{font-size:13px;line-height:1.65;color:#5a6860;margin:0 0 20px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.sa-card-action{font-size:11px;font-weight:600;color:var(--sa-brand,#132d26);margin-top:auto}.sa-access-badge{display:inline-block;border:1px solid #d8e3cb;border-radius:4px;background:#f1f5eb;padding:4px 6px;font-size:9px}.sa-grid{columns:3;column-gap:12px}.sa-grid.dense{columns:5}.sa-grid:has(>.sa-photo:only-child){columns:1;max-width:420px}.sa-grid:has(>.sa-photo:nth-child(2):last-child){columns:2;max-width:860px}.sa-photo{display:block;width:100%;padding:0;margin:0 0 12px;border:0;background:transparent;cursor:zoom-in;break-inside:avoid}.sa-photo img{display:block;width:100%;height:auto;border-radius:6px}.sa-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:22px 0}.sa-toolbar p{margin:0;font-size:12px;color:#596d50}.sa-toolbar .sa-eyebrow{font-size:9px;margin:0 0 7px}.sa-toolbar button{background:transparent;border:1px solid #cbd7c2;padding:11px 14px;border-radius:5px;color:inherit;font:inherit;font-size:11px;cursor:pointer;min-height:42px}.sa-pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:16px;margin:25px 0;font-size:12px}.sa-portal .sa-button,.sa-gate .sa-button,.sa-delivery .sa-button,.sa-client-panel .sa-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;gap:10px;padding:13px 19px;border:1px solid var(--sa-brand,#132d26);border-radius:6px;background:var(--sa-brand,#132d26);color:#fff;font:inherit;font-weight:600;font-size:12px;line-height:1.4;text-decoration:none;cursor:pointer}.sa-portal .sa-button.is-secondary,.sa-gate .sa-button.is-secondary,.sa-delivery .sa-button.is-secondary{background:transparent;color:var(--sa-brand,#132d26);border-color:#b4c5a7}.sa-button:hover{filter:brightness(1.1)}.sa-button:focus-visible,.sa-photo:focus-visible,.sa-portal a:focus-visible{outline:3px solid #9cba4d;outline-offset:4px}.sa-eyebrow{font-size:10px;line-height:1.5;letter-spacing:.1em;font-weight:600;margin:0 0 14px}.sa-gate{padding:30px;border:1px solid #d9e3ce;background:#eef3e6;border-radius:10px;margin:25px 0}.sa-gate h2,.sa-delivery h2{font-size:28px;line-height:1.2;margin:0 0 14px;letter-spacing:-.03em}.sa-gate p,.sa-delivery p{font-size:13px;line-height:1.7;color:#56684d;max-width:720px}.sa-gate form{max-width:520px}.sa-gate label{display:block;font-size:12px;font-weight:600;margin:18px 0}.sa-gate input:not([type=checkbox]){display:block;width:100%;padding:13px;border:1px solid #c5d1ba;border-radius:5px;font:inherit;margin-top:8px}.sa-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.sa-delivery{display:flex;justify-content:space-between;align-items:center;gap:28px;background:#f0f4e9;border:1px solid #dbe5d0;border-radius:10px;padding:28px;margin:32px 0}.sa-delivery p:last-child{margin-bottom:0}.sa-portal{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;padding:55px 0 60px;max-width:1140px;margin:auto}.sa-portal-intro h1{font-size:clamp(38px,4.5vw,59px);line-height:1.07;letter-spacing:-.045em;margin:0 0 23px}.sa-portal-intro>p:not(.sa-eyebrow){max-width:470px;font-size:15px;color:#5e7054;line-height:1.8}.sa-portal-assurance{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}.sa-portal-assurance span{font-size:10px;padding:6px 9px;border:1px solid #d6e1cb;background:#f2f5ec;border-radius:4px;color:#596e4c}.sa-signin-card,.sa-client-panel{padding:30px;border:1px solid #dae3cf;border-radius:12px;background:#fff;min-width:0}.sa-signin-card h2,.sa-client-panel h2{font-size:27px;line-height:1.2;letter-spacing:-.03em;margin:0 0 15px}.sa-signin-card p{font-size:13px;line-height:1.75;color:#5e7153}.sa-signin-card label{display:block;margin:21px 0 8px;font-size:12px;font-weight:600}.sa-signin-card input,.sa-signin-card select{display:block;width:100%;padding:14px;border:1px solid #bccdb0;border-radius:6px;font:inherit;font-size:16px;background:#fff;color:#173c29;min-height:48px}.sa-signin-card .sa-button{width:100%;margin-top:22px}.sa-small{font-size:11px!important;line-height:1.7!important;color:#66785b!important;margin:20px 0 0}.sa-notice{padding:15px 17px;background:#edf5e2;color:#31502c;border:1px solid #d5e3c4;border-radius:6px;font-size:13px;line-height:1.6;margin-bottom:20px}.sa-notice.is-error{background:#fff3e9;border-color:#e5c9b0;color:#7b421e}.sa-portal.is-signed-in{grid-template-columns:1fr;gap:30px}.sa-portal.is-signed-in .sa-portal-intro h1{font-size:44px}.sa-client-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-bottom:22px;border-bottom:1px solid #dce6d3;margin-bottom:26px}.sa-client-heading p{margin:5px 0 0;overflow-wrap:anywhere;font-size:14px}.sa-client-heading form{flex:none}.sa-client-panel .sa-album-body{padding:18px}.sa-client-panel .sa-album h3{font-size:20px}.sa-empty{border:1px dashed #cad8bf;padding:25px;border-radius:8px;background:#f8faf4}.sa-empty h3{font-size:21px;margin:0 0 12px}.sa-empty p{font-size:13px;color:#647658;margin:0;line-height:1.7}.sa-lightbox{width:100vw;height:100dvh;max-width:none;max-height:none;border:0;padding:28px;background:#101b14f7;color:white;box-sizing:border-box}.sa-lightbox::backdrop{background:#101b14}.sa-lightbox[open]{display:flex;align-items:center;justify-content:space-between;gap:20px}.sa-lightbox figure{margin:0;text-align:center;flex:1;min-width:0}.sa-lightbox figure img{max-width:100%;max-height:75dvh;object-fit:contain;margin:auto}.sa-lightbox figcaption{padding:14px;font-size:12px}.sa-lightbox button{border:1px solid #7e9274;background:transparent;color:white;border-radius:50%;width:44px;height:44px;font-size:24px;cursor:pointer;flex-shrink:0}.sa-lightbox .sa-close{position:absolute;top:16px;right:16px}.sa-download{display:inline-flex;color:#fff;border:1px solid #9db88e;border-radius:5px;padding:10px 15px;font-size:12px;text-decoration:none}.sa-download[hidden]{display:none}@media(max-width:950px){.sa-albums{grid-template-columns:repeat(2,minmax(0,1fr))}.sa-portal{gap:30px}.sa-grid.dense{columns:4}.sa-delivery{display:block}.sa-delivery .sa-button{margin-top:12px}}@media(max-width:700px){.sa-albums{grid-template-columns:1fr;gap:20px}.sa-album .sa-card-media{aspect-ratio:3/2}.sa-grid{columns:2}.sa-grid.dense{columns:3}.sa-portal{grid-template-columns:1fr;padding:30px 0;gap:25px}.sa-portal-intro h1{font-size:43px}.sa-signin-card,.sa-client-panel{padding:24px 20px}.sa-client-heading{align-items:start}.sa-client-heading p{font-size:12px}.sa-portal.is-signed-in .sa-portal-intro h1{font-size:38px}.sa-lightbox{padding:8px;gap:5px}.sa-lightbox button{width:38px;height:38px}.sa-gate,.sa-delivery{padding:24px}.sa-toolbar{align-items:start}.sa-toolbar button{font-size:10px}.sa-gate h2,.sa-delivery h2{font-size:25px}.sa-small{font-size:11px!important}}@media(prefers-reduced-motion:reduce){.sa-album{transition:none}}
.sa-description{border:1px solid #dce1d9;border-radius:9px;background:#fff;padding:27px 30px;margin:0 0 28px}.sa-description h2{font-size:25px;line-height:1.2;margin:0 0 17px}.sa-description p{font-size:14px;line-height:1.8;color:#5a6860;max-width:900px;margin:0 0 15px}.sa-description p:last-child{margin-bottom:0}@media(max-width:600px){.sa-description{padding:22px 20px}.sa-description h2{font-size:24px}.sa-description p{font-size:13px}}
.sa-video-sample{margin:0 0 30px;border:1px solid #dce1d9;border-radius:9px;padding:24px;background:#fff}.sa-video-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.sa-video-heading h2{font-size:25px;line-height:1.2;margin:0}.sa-video-heading>span{font-size:11px;color:#64715e}.sa-video-stage{position:relative;aspect-ratio:16/9;min-height:220px;overflow:hidden;border-radius:7px;background:#132d26}.sa-video-play{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;position:relative;border:0;width:100%;height:100%;min-height:220px;aspect-ratio:16/9;background:linear-gradient(135deg,#132d26,#244a3c);color:#fff;cursor:pointer;padding:30px}.sa-video-play img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}.sa-play-icon{display:grid;place-content:center;border:1px solid #ffffff9c;border-radius:50%;width:65px;height:65px;font-size:23px;position:relative;z-index:1;padding-left:4px;background:#132d2680}.sa-play-label{font-size:13px;font-weight:600;position:relative;z-index:1}.sa-video-stage iframe,.sa-video-stage video{position:absolute;inset:0;display:block;width:100%;height:100%;border:0}.sa-video-stage video{object-fit:contain}.sa-video-link{display:inline-block;font-size:12px;font-weight:600;text-decoration:none;margin-top:15px}.sa-video-note{font-size:11px;line-height:1.6;color:#63705d;margin:13px 0 0}.sa-video-cover{height:270px;display:flex;align-items:center;justify-content:center;position:relative;background:#132d26;color:#fff;overflow:hidden}.sa-video-cover>img{position:absolute;inset:0;object-fit:cover;width:100%;height:100%;opacity:.55}.sa-video-cover>.sa-play-icon{width:54px;height:54px;font-size:20px}.sa-album .sa-video-badge{font-size:10px;padding:5px 8px;border-radius:4px;background:#edf1e7;display:inline-block;color:#31532d}@media(max-width:700px){.sa-video-sample{padding:19px}.sa-video-heading h2{font-size:23px}.sa-video-stage,.sa-video-play{min-height:205px}.sa-video-heading{gap:12px}.sa-video-note{font-size:10px}}

.sa-delivery-links{display:flex;gap:12px;flex-wrap:wrap;max-width:100%;min-width:0}.sa-delivery-links label{width:100%;display:grid;gap:8px;font-size:13px}.sa-delivery-links input{width:100%;min-width:0;box-sizing:border-box;padding:12px;border:1px solid #bdc8bf;border-radius:4px;background:#fff;color:#132d26}.sa-delivery-links [role=status]{width:100%;font-size:13px}.sa-secondary{background:transparent!important;color:var(--sa-brand,#132d26)!important;border:1px solid currentColor!important}

/* Optional owner permission: uses the existing collection controls. */
.sa-sharing{margin-top:32px;padding:clamp(18px,4vw,30px);border:1px solid #d8e1db;border-radius:16px;background:#f7faf8;color:#18372c;min-width:0}
.sa-sharing-scope{padding:16px;border-left:3px solid var(--sa-brand);background:#fff;white-space:normal;overflow-wrap:anywhere}
.sa-sharing-confirm{display:flex;align-items:flex-start;gap:10px;margin:20px 0;line-height:1.55}
.sa-sharing-confirm input{width:20px;height:20px;flex:0 0 20px;margin-top:3px}
.sa-sharing-actions{display:flex;flex-wrap:wrap;gap:12px}
.sa-sharing .sa-button{height:auto;white-space:normal;max-width:100%;overflow-wrap:anywhere}
@media(max-width:560px){.sa-sharing-actions{flex-direction:column}.sa-sharing-actions .sa-button{width:100%}}
.sa-sharing .sa-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;gap:10px;padding:13px 19px;border:1px solid var(--sa-brand,#132d26);border-radius:6px;background:var(--sa-brand,#132d26);color:#fff;font:inherit;font-weight:600;font-size:13px;line-height:1.4;text-decoration:none;cursor:pointer;box-sizing:border-box}
.sa-sharing .sa-button.is-secondary{background:transparent;color:var(--sa-brand,#132d26);border-color:#93a39b}
.sa-sharing,.sa-sharing *{box-sizing:border-box}
