.photos-page{background:var(--ground);min-height:100vh;position:relative;overflow-x:hidden}.photos-desktop{display:none}.photos-mobile{margin-top:calc(var(--header-height) * -1);display:block}@media (min-width:1024px){.photos-desktop{display:block}.photos-mobile{display:none}}.pd-banner{width:100%;max-width:100%;margin:0;padding:0;position:relative}.pd-banner__media{aspect-ratio:8/3;background:var(--ground-sunk);width:100%;height:clamp(340px,44vh,500px);box-shadow:none;border-bottom:1px solid #2a1b120f;border-radius:0;position:relative;overflow:hidden}.pd-banner__img{-o-object-fit:cover;object-fit:cover;-o-object-position:center 36%;object-position:center 36%;width:100%;height:100%;display:block}.pd-banner__editorial{z-index:3;pointer-events:none;max-width:clamp(280px,20.5vw,380px);animation:.8s cubic-bezier(.16,1,.3,1) both bannerEditorialFadeIn;position:absolute;top:50%;left:24%;transform:translateY(-50%)}@keyframes bannerEditorialFadeIn{0%{opacity:0;transform:translateY(calc(14px - 50%))}to{opacity:1;transform:translateY(-50%)}}.pd-banner__eyebrow-wrap{align-items:center;gap:12px;margin-bottom:10px;display:flex}.pd-banner__eyebrow{font-family:var(--font-inter), ui-sans-serif, system-ui, sans-serif;letter-spacing:.22em;text-transform:uppercase;color:#9d7b56;font-size:clamp(10px,.8vw,11.5px);font-weight:600}.pd-banner__eyebrow-line{opacity:.75;background:#9d7b56;width:38px;height:1px}.pd-banner__title{font-family:var(--font-display), "Bodoni Moda", Didot, "Times New Roman", serif;flex-direction:column;margin:0 0 10px;line-height:1.06;display:flex}.pd-banner__title-line1{letter-spacing:-.015em;color:#17120f;white-space:nowrap;font-size:clamp(24px,2.35vw,38px);font-weight:500}.pd-banner__title-line2{letter-spacing:-.01em;color:#9f6932;white-space:nowrap;font-size:clamp(24px,2.35vw,38px);font-style:italic;font-weight:400}.pd-banner__desc{font-family:var(--font-inter), ui-sans-serif, system-ui, sans-serif;color:#261c17d1;text-wrap:pretty;margin:0;font-size:clamp(11px,.82vw,12.8px);font-weight:400;line-height:1.5}.pd-controls-bar{background:var(--ground);border-bottom:1px solid #2a1b1214;width:100%;margin-bottom:12px;padding:16px 0}.pd-controls{justify-content:space-between;align-items:center;gap:24px;max-width:1440px;margin:0 auto;padding:0 48px;display:flex}.pd-controls__tags{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;flex-shrink:0;gap:8px;padding:2px 0;display:flex;overflow-x:auto}.pd-controls__tags::-webkit-scrollbar{display:none}.pd-search{background:#ffffffa6;border:1px solid #2a1b121f;border-radius:999px;flex:1;align-items:center;gap:10px;max-width:340px;min-height:40px;margin-left:auto;padding:0 14px 0 16px;transition:all .22s cubic-bezier(.16,1,.3,1);display:flex;box-shadow:0 1px 2px #2a1b1205}.pd-search:hover{background:#ffffffe6;border-color:#2a1b1242}.pd-search:focus-within{border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px #d9342a14,0 2px 8px -2px #2a1b120f}.pd-search__icon{color:var(--ink-muted);flex-shrink:0;transition:color .2s}.pd-search:focus-within .pd-search__icon{color:var(--accent)}.pd-search__input{font-family:var(--font-inter), ui-sans-serif, system-ui, sans-serif;color:var(--ink-primary);appearance:none;background:0 0;flex:1;min-width:0;padding:8px 0;font-size:13.5px;box-shadow:none!important;border:none!important;outline:none!important}.pd-search__input:focus,.pd-search__input:focus-visible{box-shadow:none!important;border:none!important;outline:none!important}.pd-search__input::-webkit-search-cancel-button{-webkit-appearance:none;display:none}.pd-search__input::-webkit-search-decoration{-webkit-appearance:none;display:none}.pd-search__input::placeholder{color:var(--ink-muted);font-size:13px}.pd-search__clear{width:20px;height:20px;color:var(--ink-muted);cursor:pointer;background:#2a1b1214;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-left:4px;padding:0;transition:all .15s;display:flex}.pd-search__clear:hover{background:var(--accent);color:#fff}.photos-tag{white-space:nowrap;-webkit-backdrop-filter:blur(8px);min-height:36px;font-family:var(--font-inter), ui-sans-serif, system-ui, sans-serif;color:var(--ink-secondary);cursor:pointer;letter-spacing:.015em;-webkit-user-select:none;user-select:none;background:#ffffffa6;border:1px solid #2a1b121f;border-radius:999px;outline:none;flex-shrink:0;padding:0 18px;font-size:13px;font-weight:500;transition:all .2s cubic-bezier(.16,1,.3,1);box-shadow:0 1px 2px #2a1b1205}.photos-tag:hover{color:var(--ink-primary);background:#fffffff2;border-color:#2a1b1247;transform:translateY(-1px);box-shadow:0 2px 6px -1px #2a1b120f}.photos-tag:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.photos-tag--active{font-weight:600;box-shadow:0 3px 12px -2px #d9342a59;border-color:var(--accent)!important;background:var(--accent)!important;color:#fff!important}.photos-tag--active:hover{transform:translateY(-1px);box-shadow:0 4px 16px -2px #d9342a73;background:var(--accent-hover)!important;border-color:var(--accent-hover)!important;color:#fff!important}.photos-masonry-wrapper{max-width:1440px;margin:0 auto;padding:8px 48px 48px}.photos-masonry{align-items:flex-start;gap:20px;width:100%;display:flex}.photos-masonry__col{flex-direction:column;flex:1;gap:20px;min-width:0;display:flex}.photo-card{background:var(--ground-sunk);will-change:transform;border-radius:16px;text-decoration:none;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s cubic-bezier(.16,1,.3,1);animation:.5s cubic-bezier(.16,1,.3,1) both photoCardFadeIn;position:relative;overflow:hidden;transform:translateZ(0);box-shadow:0 2px 8px -2px #2a1b120f}@keyframes photoCardFadeIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.photo-card:hover{transform:translateY(-3px);box-shadow:0 12px 32px -8px #2a1b1229,0 4px 12px -2px #2a1b1214}.photo-card__media-wrap{background:var(--ground-sunk);width:100%;position:relative;overflow:hidden}.photo-card__blur-placeholder{filter:blur(12px);opacity:1;width:100%;height:100%;transition:opacity .4s;position:absolute;inset:0;transform:scale(1.1)}.photo-card__blur-placeholder--hidden{opacity:0;pointer-events:none}.photo-card__img{-o-object-fit:cover;object-fit:cover;opacity:0;width:100%;height:100%;transition:transform .6s cubic-bezier(.16,1,.3,1),opacity .4s;display:block;position:relative}.photo-card__img--loaded{opacity:1}.photo-card:hover .photo-card__img{transform:scale(1.04)}.photo-card__scrim{opacity:.3;pointer-events:none;background:linear-gradient(#0000 25%,#140e0c59 55%,#140e0cd1 100%);transition:opacity .3s cubic-bezier(.16,1,.3,1);position:absolute;inset:0}.photo-card:hover .photo-card__scrim{opacity:1}.photo-card__tags{z-index:2;flex-wrap:wrap;gap:6px;transition:transform .25s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;bottom:12px;left:12px;right:56px}.photo-card__tag-pill{-webkit-backdrop-filter:blur(8px);font-family:var(--font-inter), ui-sans-serif, system-ui, sans-serif;letter-spacing:.02em;color:#fff;white-space:nowrap;text-shadow:0 1px 2px #0003;background:#16100e9e;border:1px solid #ffffff29;border-radius:999px;padding:3.5px 9px;font-size:10.5px;font-weight:500;line-height:1.2}.photo-card__heart-btn{-webkit-backdrop-filter:blur(8px);color:#fff;cursor:pointer;z-index:4;background:#16100e8c;border:1px solid #ffffff38;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;bottom:12px;right:12px}.photo-card__heart-btn:hover{background:#16100ed9;border-color:#fff6;transform:scale(1.1)}.photo-card__heart-btn--liked{color:#e53935;background:#fffffff2;border-color:#e53935;box-shadow:0 2px 10px #e539354d}.photo-card__meta{opacity:0;z-index:2;pointer-events:none;justify-content:space-between;align-items:center;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;top:12px;left:12px;right:12px;transform:translateY(-6px)}.photo-card:hover .photo-card__meta{opacity:1;transform:translateY(0)}.photo-card__client-badge{-webkit-backdrop-filter:blur(8px);font-family:var(--font-inter), ui-sans-serif, system-ui, sans-serif;color:#fff;letter-spacing:.02em;background:#16100ea6;border:1px solid #ffffff29;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:600}.photos-hero{z-index:0;background:var(--ground-deep);height:100vh;position:fixed;inset:0;overflow:hidden}.photos-hero__img{-o-object-fit:cover;object-fit:cover;-o-object-position:center top;object-position:center top;will-change:transform;width:100%;height:100%;transition:transform .1s linear;position:absolute;inset:0}.photos-hero__gradient{pointer-events:none;background:linear-gradient(#0000000a 0%,#0000 35%,#1a111040 75%,#1a1110a6 100%);position:absolute;inset:0}.photos-hero__editorial{top:calc(var(--header-height,64px) + 24px);z-index:2;pointer-events:none;max-width:320px;animation:.8s cubic-bezier(.16,1,.3,1) both editorialFadeIn;position:absolute;left:24px;right:24px}.photos-hero__eyebrow-wrap{align-items:center;gap:12px;margin-bottom:8px;display:flex}.photos-hero__eyebrow{font-family:var(--font-inter), ui-sans-serif, system-ui, sans-serif;letter-spacing:.22em;text-transform:uppercase;color:#9d7b56;font-size:11px;font-weight:600}.photos-hero__eyebrow-line{opacity:.75;background:#9d7b56;width:36px;height:1px}.photos-hero__title{font-family:var(--font-display), "Bodoni Moda", Didot, "Times New Roman", serif;flex-direction:column;margin:0 0 10px;line-height:1.05;display:flex}.photos-hero__title-line1{letter-spacing:-.015em;color:#17120f;font-size:clamp(34px,8.5vw,42px);font-weight:500}.photos-hero__title-line2{letter-spacing:-.01em;color:#9f6932;font-size:clamp(34px,8.5vw,42px);font-style:italic;font-weight:400}.photos-hero__desc{font-family:var(--font-inter), ui-sans-serif, system-ui, sans-serif;color:#261c17c7;text-wrap:pretty;max-width:290px;margin:0;font-size:12.5px;font-weight:400;line-height:1.55}.photos-sheet{z-index:10;background:var(--ground);will-change:top;border-radius:28px 28px 0 0;min-height:52vh;padding-bottom:40px;transition:top .38s cubic-bezier(.16,1,.3,1);position:relative;box-shadow:0 -8px 40px -8px #2a1b1240,0 -2px 12px -4px #2a1b121a}.photos-sheet--dragging{-webkit-user-select:none;user-select:none;transition:none}.photos-sheet__handle-zone{cursor:grab;touch-action:none;justify-content:center;align-items:center;padding:14px 0 6px;display:flex}.photos-sheet--dragging .photos-sheet__handle-zone{cursor:grabbing}.photos-sheet__handle{width:36px;height:4px;transition:width .2s var(--ease-standard), background .2s var(--ease-standard);background:#2a1b122e;border-radius:999px}.photos-sheet__handle-zone:hover .photos-sheet__handle,.photos-sheet--dragging .photos-sheet__handle{background:var(--accent);width:52px}.photos-sheet__header{justify-content:space-between;align-items:flex-end;padding:12px 20px 0;display:flex}.photos-sheet__heading{font-family:var(--font-display), "Bodoni Moda", Didot, "Times New Roman", serif;letter-spacing:-.01em;color:var(--ink-primary);margin:0;font-size:26px;font-weight:500;line-height:1.12}.photos-sheet__count{font-family:var(--font-inter), ui-sans-serif, system-ui, sans-serif;color:var(--ink-muted);letter-spacing:.01em;margin-top:4px;font-size:13px;font-weight:400}.photos-search-mobile{background:#ffffffd9;border:1px solid #2a1b121f;border-radius:999px;align-items:center;gap:10px;min-height:42px;margin:14px 20px 0;padding:0 14px 0 16px;transition:all .22s cubic-bezier(.16,1,.3,1);display:flex;box-shadow:0 1px 3px #2a1b1205}.photos-search-mobile:focus-within{border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px #d9342a14}.photos-search-mobile__icon{color:var(--ink-muted);flex-shrink:0;transition:color .2s}.photos-search-mobile:focus-within .photos-search-mobile__icon{color:var(--accent)}.photos-search-mobile__input{font-family:var(--font-inter), ui-sans-serif, system-ui, sans-serif;color:var(--ink-primary);appearance:none;background:0 0;flex:1;min-width:0;padding:8px 0;font-size:13.5px;box-shadow:none!important;border:none!important;outline:none!important}.photos-search-mobile__input:focus,.photos-search-mobile__input:focus-visible{box-shadow:none!important;border:none!important;outline:none!important}.photos-search-mobile__input::placeholder{color:var(--ink-muted);font-size:13px}.photos-search-mobile__clear{width:20px;height:20px;color:var(--ink-muted);cursor:pointer;background:#2a1b1214;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-left:4px;padding:0;transition:all .15s;display:flex}.photos-search-mobile__clear:hover{background:var(--accent);color:#fff}.photos-tags-mobile{padding:12px 0 0;overflow:hidden}.photos-tags-mobile__scroll{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;gap:8px;padding:0 20px 12px;display:flex;overflow-x:auto}.photos-tags-mobile__scroll::-webkit-scrollbar{display:none}.photos-mobile-feed{padding:8px 16px 0}.photos-mobile-feed .photos-masonry,.photos-mobile-feed .photos-masonry__col{gap:12px}.photos-mobile-feed .photo-card{border-radius:12px}.photos-mobile-feed .photo-card__tags{gap:4px;bottom:8px;left:8px;right:42px}.photos-mobile-feed .photo-card__tag-pill{padding:2.5px 7px;font-size:9.5px}.photos-mobile-feed .photo-card__heart-btn{width:28px;height:28px;bottom:8px;right:8px}.photos-empty{text-align:center;max-width:480px;margin:0 auto;padding:64px 24px}.photos-empty__icon{background:var(--ground-raised);width:64px;height:64px;color:var(--ink-muted);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 16px;display:flex}.photos-empty__title{font-family:var(--font-display), "Bodoni Moda", Didot, "Times New Roman", serif;color:var(--ink-primary);margin:0 0 8px;font-size:24px;font-weight:500}.photos-empty__text{font-family:var(--font-inter), ui-sans-serif, system-ui, sans-serif;color:var(--ink-muted);margin:0 0 24px;font-size:14px;line-height:1.5}.photos-empty__reset{font-family:var(--font-inter), ui-sans-serif, system-ui, sans-serif;color:var(--accent);background:var(--accent-wash);border:1.5px solid var(--accent);cursor:pointer;transition:all var(--motion-micro) var(--ease-standard);border-radius:999px;padding:10px 24px;font-size:13px;font-weight:600}.photos-empty__reset:hover{background:var(--accent);color:var(--ink-on-accent)}.photos-cta{z-index:50;padding:12px 20px calc(12px + env(safe-area-inset-bottom,0px));background:linear-gradient(to top, var(--ground) 60%, #fbf6ee00 100%);position:fixed;bottom:0;left:0;right:0}.photos-cta__btn{background:var(--accent);width:100%;min-height:50px;color:var(--ink-on-accent);font-family:var(--font-inter), ui-sans-serif, system-ui, sans-serif;letter-spacing:.02em;transition:all var(--motion-ui) var(--ease-standard);border-radius:999px;justify-content:center;align-items:center;gap:10px;font-size:15px;font-weight:700;text-decoration:none;display:flex;box-shadow:0 4px 20px -4px #d9342a73,0 2px 8px -2px #d9342a40}.photos-cta__btn:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 8px 28px -4px #d9342a80,0 4px 12px -2px #d9342a4d}.photos-cta__btn:active{background:var(--accent-press);transform:translateY(0)}.photos-cta__btn-arrow{transition:transform var(--motion-micro) var(--ease-standard);align-items:center;display:flex}.photos-cta__btn:hover .photos-cta__btn-arrow{transform:translate(3px)}.pd-bottom-cta{max-width:1440px;margin:0 auto;padding:48px}.pd-bottom-cta__inner{background:linear-gradient(135deg, var(--accent-tint) 0%, #ffe8e0 50%, var(--accent-wash) 100%);border-radius:24px;justify-content:space-between;align-items:center;gap:32px;padding:40px 48px;display:flex}.pd-bottom-cta__eyebrow{font-family:var(--font-inter), ui-sans-serif, system-ui, sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted);margin:0 0 8px;font-size:11px;font-weight:700}.pd-bottom-cta__heading{font-family:var(--font-display), "Bodoni Moda", Didot, "Times New Roman", serif;color:var(--ink-primary);margin:0;font-size:30px;font-weight:500;line-height:1.15}.pd-bottom-cta__btn{background:var(--accent);min-height:48px;color:var(--ink-on-accent);font-family:var(--font-inter), ui-sans-serif, system-ui, sans-serif;transition:all var(--motion-ui) var(--ease-standard);border-radius:999px;flex-shrink:0;align-items:center;gap:10px;padding:0 28px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex;box-shadow:0 4px 16px -4px #d9342a66}.pd-bottom-cta__btn:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 6px 24px -4px #d9342a80}@media (min-width:640px){.photos-mobile-feed{padding:12px 24px 0}.photos-tags-mobile__scroll{padding:0 24px 12px}.photos-sheet__header{padding:16px 24px 0}.photos-search-mobile{margin:14px 24px 0}}
