.photo-hover-effect--follow-zoom .photo__visual{--hover-translate-x:0px;--hover-translate-y:0px}.photo-hover-effect--follow-zoom .photo__image{transform:translateZ(0) scale(1);transition:transform var(--dur-base) var(--ease-out);will-change:transform}.photo-hover-effect--follow-zoom.photo--film-active .photo__image,.photo-hover-effect--follow-zoom:hover .photo__image{transform:translateZ(0) scale(1.1);transform:translate3d(var(--hover-translate-x,0),var(--hover-translate-y,0),0) scale(1.1)}.photo-hover-effect--follow-zoom.photo--film-active .photo__visual,.photo-hover-effect--follow-zoom:hover .photo__visual{--frame-padding-v:0;--frame-padding-h:0;--frame-bg-alpha:0;--photo-inner-gap:0;background:#0000}.photo-hover-effect--follow-zoom.photo--film-active .photo__overlay,.photo-hover-effect--follow-zoom:hover .photo__overlay{opacity:1}.photo-hover-effect--follow-zoom.photo--film-active .photo__controls,.photo-hover-effect--follow-zoom:hover .photo__controls{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}.photo-hover-effect--follow-zoom.photo--film-active .photo__meta,.photo-hover-effect--follow-zoom:hover .photo__meta{opacity:1;transform:translateY(0)}.photo-hover-effect--grayscale .photo__image{filter:grayscale(0);-webkit-filter:grayscale(0);transition:filter var(--dur-slow) var(--ease-out)}.photo-hover-effect--grayscale.photo--film-active .photo__image,.photo-hover-effect--grayscale:hover .photo__image{filter:grayscale(1);-webkit-filter:grayscale(1)}.photo-hover-effect--grayscale.photo--film-active .photo__visual,.photo-hover-effect--grayscale:hover .photo__visual{--frame-padding-v:clamp(1.8rem,3vw,2.6rem);--frame-padding-h:clamp(1.3rem,2.8vw,1.9rem);--frame-bg-alpha:0.95;--photo-inner-gap:0;background:linear-gradient(145deg,#141b2ad9,#0c1018f2);box-shadow:0 12px 30px #040a1259}.photo-hover-effect--grayscale.photo--film-active .photo__overlay,.photo-hover-effect--grayscale:hover .photo__overlay{opacity:1}.photo-hover-effect--grayscale.photo--film-active .photo__controls,.photo-hover-effect--grayscale:hover .photo__controls{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}.photo-hover-effect--grayscale.photo--film-active .photo__meta,.photo-hover-effect--grayscale:hover .photo__meta{opacity:1;transform:translateY(0)}:root{--color-primary:#0d9488;--color-primary-strong:#115e59;--bg-color:#fff;--bg-overlay:#fffffff5;--text-default:#115e59e0;--text-muted:#115e5999;--text-soft:#115e5959;--surface-tinted:#0d948812;--surface-tinted-strong:#0d948824;--border-subtle:#0d948833;--scrim-loader:radial-gradient(circle at center,#fffffff5,#ffffffb8);--logo-gradient:linear-gradient(135deg,#0d9488,#115e59);--scrollbar-thumb:var(--color-primary-strong);--scrollbar-thumb-hover:var(--color-primary);--color-scheme:light;--text-color:var(--color-primary)}@media (prefers-color-scheme:dark){:root:not(.theme-light){--color-primary:#2dd4bf;--color-primary-strong:#5eead4;--bg-color:#0d1117;--bg-overlay:#0d1117f5;--text-default:#bae9deeb;--text-muted:#bae9de99;--text-soft:#bae9de47;--surface-tinted:#2dd4bf14;--surface-tinted-strong:#2dd4bf2e;--border-subtle:#2dd4bf38;--scrim-loader:radial-gradient(circle at center,#0d1117eb,#0d1117b8);--logo-gradient:linear-gradient(135deg,#5eead4,#10b981);--scrollbar-thumb:#5eead429;--scrollbar-thumb-hover:#5eead466;--color-scheme:dark}}:root.theme-dark{--color-primary:#2dd4bf;--color-primary-strong:#5eead4;--bg-color:#0d1117;--bg-overlay:#0d1117f5;--text-default:#bae9deeb;--text-muted:#bae9de99;--text-soft:#bae9de47;--surface-tinted:#2dd4bf14;--surface-tinted-strong:#2dd4bf2e;--border-subtle:#2dd4bf38;--scrim-loader:radial-gradient(circle at center,#0d1117eb,#0d1117b8);--logo-gradient:linear-gradient(135deg,#5eead4,#10b981);--scrollbar-thumb:#5eead429;--scrollbar-thumb-hover:#5eead466;--color-scheme:dark}html{color-scheme:light;color-scheme:var(--color-scheme)}*,:after,:before{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-synthesis:none;text-rendering:optimizeLegibility}body,html{background:var(--bg-color);transition:background-color .35s ease;transition:background-color var(--dur-base,.35s) var(--ease-out,ease)}body{font-feature-settings:"cv11";margin:0 auto;max-inline-size:1440px;min-inline-size:375px}h1,h2,h3,h4,h5,h6,p{margin:0}ul{list-style:none}picture,ul{margin:0;padding:0}a,button{color:currentColor;font-family:inherit;font-size:inherit;line-height:inherit}html{scroll-behavior:smooth;scrollbar-color:#115e59 #0000;scrollbar-color:var(--scrollbar-thumb,#115e59) #0000;scrollbar-width:thin}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#115e59;background:var(--scrollbar-thumb,#115e59);background-clip:padding-box;border:2px solid #fff;border:2px solid var(--bg-color,#fff);border-radius:10px;-webkit-transition:background-color .25s ease;transition:background-color .25s ease;-webkit-transition:background-color var(--dur-fast,.25s) var(--ease-out,ease);transition:background-color var(--dur-fast,.25s) var(--ease-out,ease)}::-webkit-scrollbar-thumb:hover{background:#0d9488;background:var(--scrollbar-thumb-hover,#0d9488);background-clip:padding-box}:root{--font-display:"Lora","Iowan Old Style","Apple Garamond",Georgia,serif;--font-ui:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--site-title-font-family:var(--font-display);--text-font-family:var(--font-ui);--dur-instant:0.15s;--dur-fast:0.25s;--dur-base:0.35s;--dur-slow:0.45s;--dur-slower:0.6s;--ease-standard:cubic-bezier(0.4,0,0.2,1);--ease-out:cubic-bezier(0.33,1,0.68,1);--ease-linear:linear}.page{background:var(--bg-color);color:var(--text-color);display:flex;flex-direction:column;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-family:var(--text-font-family,"Arial",sans-serif);min-height:100vh;min-height:100dvh;transition:background-color .35s cubic-bezier(.33,1,.68,1),color .35s cubic-bezier(.33,1,.68,1);transition:background-color var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out)}.grid-container{flex:1 0 auto}.site-footer{flex:0 0 auto}.header-container{background:var(--bg-color);position:-webkit-sticky;position:sticky;top:0;transition:background .35s cubic-bezier(.33,1,.68,1);transition:background var(--dur-base) var(--ease-out);width:100%;z-index:300}.page.menu-open .header-container{background:#0000}.header{align-items:center;display:grid;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-family:var(--font-ui);grid-template-columns:clamp(40px,6vw,56px) 1fr clamp(40px,6vw,56px);margin:0 auto;max-width:1440px;padding:clamp(1.5rem,4vw,2.5rem) clamp(1.5rem,6vw,3rem)}.header__logo{-webkit-text-fill-color:#0000;background:var(--logo-gradient);background-clip:text;-webkit-background-clip:text;color:#0000;font-family:Lora,Iowan Old Style,Apple Garamond,Georgia,serif;font-family:var(--font-display);font-size:clamp(1.25rem,.7167rem + 2.6667vw,2.75rem);font-weight:700;grid-column:2;letter-spacing:0}.burger,.header__logo{cursor:pointer;justify-self:center}.burger{align-items:center;align-self:center;background:none;border:none;color:inherit;display:inline-flex;grid-column:1;height:clamp(42px,3.8vw,56px);justify-content:center;padding:0;position:relative;width:clamp(42px,3.8vw,56px)}.burger__line{background:currentColor;border-radius:1px;height:2px;left:50%;position:absolute;transform:translate(-50%,-50%);transition:transform .35s cubic-bezier(.33,1,.68,1),opacity .35s cubic-bezier(.33,1,.68,1),top .35s cubic-bezier(.33,1,.68,1);transition:transform var(--dur-base) var(--ease-out),opacity var(--dur-base) var(--ease-out),top var(--dur-base) var(--ease-out);width:26px}.burger__line:first-child{top:35%}.burger__line:nth-child(2){top:50%}.burger__line:nth-child(3){top:65%}.burger.burger--active .burger__line:first-child{top:50%;transform:translate(-50%,-50%) rotate(45deg)}.burger.burger--active .burger__line:nth-child(2){opacity:0}.burger.burger--active .burger__line:nth-child(3){top:50%;transform:translate(-50%,-50%) rotate(-45deg)}.theme-toggle{-webkit-tap-highlight-color:transparent;align-items:center;align-self:center;background:none;border:none;border-radius:50%;color:inherit;cursor:pointer;display:inline-flex;grid-column:3;height:clamp(42px,3.8vw,56px);justify-content:center;justify-self:center;padding:0;position:relative;transition:background-color .35s cubic-bezier(.33,1,.68,1);transition:background-color var(--dur-base) var(--ease-out);width:clamp(42px,3.8vw,56px)}.theme-toggle:hover{background-color:var(--surface-tinted)}.theme-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.theme-toggle__icon{align-items:center;color:var(--color-primary-strong);display:inline-flex;font-size:clamp(20px,2vw,26px);inset:0;justify-content:center;line-height:1;position:absolute;transform-origin:50% 50%;transition:transform .6s cubic-bezier(.34,1.56,.64,1),opacity .3s cubic-bezier(.33,1,.68,1);transition:transform .6s cubic-bezier(.34,1.56,.64,1),opacity .3s var(--ease-out);will-change:transform,opacity}.theme-toggle__icon--sun{opacity:1;transform:rotate(0deg) scale(1)}.theme-toggle__icon--moon{opacity:0;transform:rotate(-180deg) scale(.3)}:root.theme-dark .theme-toggle__icon--sun{opacity:0;transform:rotate(180deg) scale(.3)}:root.theme-dark .theme-toggle__icon--moon{opacity:1;transform:rotate(0deg) scale(1)}@media (prefers-color-scheme:dark){:root:not(.theme-light) .theme-toggle__icon--sun{opacity:0;transform:rotate(180deg) scale(.3)}:root:not(.theme-light) .theme-toggle__icon--moon{opacity:1;transform:rotate(0deg) scale(1)}}.theme-toggle:hover .theme-toggle__icon--moon,.theme-toggle:hover .theme-toggle__icon--sun{color:var(--color-primary)}.menu-overlay{align-items:center;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:var(--bg-overlay);clip-path:circle(0 at 2.5rem 2.5rem);clip-path:circle(0 at var(--menu-origin-x,2.5rem) var(--menu-origin-y,2.5rem));-webkit-clip-path:circle(0 at 2.5rem 2.5rem);-webkit-clip-path:circle(0 at var(--menu-origin-x,2.5rem) var(--menu-origin-y,2.5rem));display:flex;inset:0;justify-content:center;padding:0 clamp(1.5rem,6vw,3rem);pointer-events:none;position:fixed;transition:clip-path .6s cubic-bezier(.4,0,.2,1) .25s,-webkit-clip-path .6s cubic-bezier(.4,0,.2,1) .25s;transition:clip-path var(--dur-slower) var(--ease-standard) var(--dur-fast),-webkit-clip-path var(--dur-slower) var(--ease-standard) var(--dur-fast);will-change:clip-path;z-index:200}.menu-overlay.menu-overlay--open{clip-path:circle(150vmax at 2.5rem 2.5rem);clip-path:circle(150vmax at var(--menu-origin-x,2.5rem) var(--menu-origin-y,2.5rem));-webkit-clip-path:circle(150vmax at 2.5rem 2.5rem);-webkit-clip-path:circle(150vmax at var(--menu-origin-x,2.5rem) var(--menu-origin-y,2.5rem));pointer-events:auto;transition:clip-path .6s cubic-bezier(.4,0,.2,1) 0s,-webkit-clip-path .6s cubic-bezier(.4,0,.2,1) 0s;transition:clip-path var(--dur-slower) var(--ease-standard) 0s,-webkit-clip-path var(--dur-slower) var(--ease-standard) 0s}.menu-overlay__inner{gap:clamp(1.5rem,4vw,3rem);justify-content:center;margin:0 auto;max-width:1440px;padding:clamp(1.5rem,4vw,2.5rem) clamp(1.5rem,6vw,3rem);width:100%}.menu-overlay__inner,.menu-overlay__list{align-items:center;display:flex;flex-direction:column;text-align:center}.menu-overlay__list{gap:clamp(1.5rem,2.6vw,3rem);list-style:none;margin:0;padding:0}.menu-overlay__item{opacity:0;transform:translateY(16px);transition:opacity .35s cubic-bezier(.33,1,.68,1),transform .35s cubic-bezier(.33,1,.68,1);transition:opacity var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out);transition-delay:0s;will-change:opacity,transform}.menu-overlay--open .menu-overlay__item{opacity:1;transform:translateY(0);transition-delay:.25s;transition-delay:calc(var(--dur-fast) + var(--item-index, 0)*80ms)}.menu-overlay__link{align-items:center;color:var(--text-color);display:inline-flex;font-size:clamp(1.6rem,1.2rem + 1.4vw,2.3rem);font-weight:600;position:relative;text-decoration:none;transition:color .35s cubic-bezier(.33,1,.68,1),transform .35s cubic-bezier(.33,1,.68,1);transition:color var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out)}.menu-overlay__link-icon{align-items:center;color:inherit;display:inline-flex;flex-shrink:0;font-size:.7em;justify-content:center;line-height:1;margin-right:0;opacity:0;overflow:hidden;pointer-events:none;transform:translateY(.12em) scale(.5);transform-origin:center center;transition:opacity .35s cubic-bezier(.33,1,.68,1),transform .35s cubic-bezier(.33,1,.68,1),width .35s cubic-bezier(.33,1,.68,1),margin-right .35s cubic-bezier(.33,1,.68,1);transition:opacity var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out),width var(--dur-base) var(--ease-out),margin-right var(--dur-base) var(--ease-out);width:0}.menu-overlay__link:focus-visible,.menu-overlay__link:hover{color:var(--color-primary-strong);transform:translateX(.4rem)}.menu-overlay__contact{border-bottom:1px solid var(--border-subtle);bottom:calc(clamp(1.5rem, 4vw, 2.5rem) + env(safe-area-inset-bottom, 0px));color:var(--color-primary-strong);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-family:var(--font-ui);font-size:clamp(.85rem,1vw,.95rem);font-weight:500;left:50%;letter-spacing:.02em;opacity:0;padding:.5em .9em;position:absolute;text-decoration:none;transform:translateX(-50%);transition:opacity .35s cubic-bezier(.33,1,.68,1),color .25s cubic-bezier(.33,1,.68,1),border-color .25s cubic-bezier(.33,1,.68,1);transition:opacity var(--dur-base) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out);transition-delay:0s}.menu-overlay--open .menu-overlay__contact{opacity:.8;transition-delay:.6s;transition-delay:calc(var(--dur-fast) + .35s)}.menu-overlay__contact:focus-visible,.menu-overlay__contact:hover{border-bottom-color:var(--color-primary);color:var(--color-primary);opacity:1;outline:none}.menu-overlay__link:focus-visible .menu-overlay__link-icon,.menu-overlay__link:hover .menu-overlay__link-icon{margin-right:.4em;opacity:1;transform:translateY(.12em) scale(1);width:1em}.grid-container{margin:0 auto;max-width:1440px;padding:0 1.5rem}.grid-group{grid-gap:1rem;display:grid;gap:1rem;margin-bottom:2rem}.three-squares{grid-template-columns:repeat(3,1fr)}.wide-square{grid-template-columns:16fr 9fr}.two-wides{grid-template-columns:repeat(2,1fr)}.photo{--photo-aspect:3/2;aspect-ratio:var(--photo-aspect);display:block;margin:0;overflow:visible;transform-style:preserve-3d}.photo,.photo__visual{border-radius:12px;position:relative;width:100%}.photo__visual{--frame-padding-v:0;--frame-padding-h:0;--frame-bg-alpha:0;--photo-inner-gap:0;align-items:center;background:#0000;box-shadow:0 8px 18px #040a1233;box-sizing:border-box;display:flex;height:100%;isolation:isolate;justify-content:center;overflow:hidden;padding:var(--frame-padding-v) var(--frame-padding-h);transition:padding .45s cubic-bezier(.4,0,.2,1),background .45s cubic-bezier(.4,0,.2,1),box-shadow .45s cubic-bezier(.4,0,.2,1);transition:padding var(--dur-slow) var(--ease-standard),background var(--dur-slow) var(--ease-standard),box-shadow var(--dur-slow) var(--ease-standard)}.photo__image,.photo__image-wrapper{display:block;height:100%;width:100%}.photo__image{border-radius:inherit;object-fit:cover}.photo__overlay{background:linear-gradient(180deg,#161e2d59,#060a12a6);inset:0;mix-blend-mode:soft-light;transition:opacity .45s cubic-bezier(.33,1,.68,1);transition:opacity var(--dur-slow) var(--ease-out);z-index:1}.photo__meta,.photo__overlay{opacity:0;pointer-events:none;position:absolute}.photo__meta{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:linear-gradient(135deg,#071016d9,#0c1e2899);border-radius:10px;bottom:clamp(.75rem,1.8vw,1.4rem);color:#ffffffd9;display:flex;font-size:1rem;gap:clamp(.5rem,1.4vw,1rem);justify-content:space-between;left:clamp(1rem,2.2vw,1.6rem);line-height:1.2;padding:.5rem .9rem;right:clamp(1rem,2.2vw,1.6rem);transform:translateY(12px);transition:opacity .15s cubic-bezier(.33,1,.68,1),transform .15s cubic-bezier(.33,1,.68,1);transition:opacity var(--dur-instant) var(--ease-out),transform var(--dur-instant) var(--ease-out);z-index:2}.photo__meta-text{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.photo__controls{display:flex;gap:.9rem;left:50%;opacity:0;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%) scale(.85);transition:opacity .45s cubic-bezier(.33,1,.68,1),transform .45s cubic-bezier(.33,1,.68,1);transition:opacity var(--dur-slow) var(--ease-out),transform var(--dur-slow) var(--ease-out);z-index:4}.photo__control{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#040c108c;border:none;border-radius:16px;box-shadow:0 18px 28px #02060a59;color:#fff;cursor:pointer;font-size:1.6rem;height:50px;position:relative;transition:transform .25s cubic-bezier(.33,1,.68,1),color .25s cubic-bezier(.33,1,.68,1),background .25s cubic-bezier(.33,1,.68,1);transition:transform var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out);width:50px}.photo__control,.photo__control i{align-items:center;display:inline-flex;justify-content:center}.photo__control i{line-height:1;pointer-events:none}.photo__control--expand i{font-size:1.9rem}.photo__control--like.liked{color:#ff6b6b}.photo__control:hover{background:#0c1c24bf;transform:scale(1.12)}.photo__control--has-count{transform:scale(1.12)}.photo__control--has-count:hover{transform:scale(1.27)}.photo__control-icon{align-items:center;display:inline-flex;justify-content:center;position:relative}.photo__control-icon i{font-size:1.6rem;transition:font-size .25s cubic-bezier(.33,1,.68,1);transition:font-size var(--dur-fast) var(--ease-out)}.photo__control-icon--with-count i{font-size:2.4rem}.photo__control-icon--wide i{font-size:2.6rem}.photo__control-icon--liked i{font-size:2.8rem}.photo__control-count{font-feature-settings:"tnum";align-items:center;color:#fff;display:inline-flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-family:var(--font-ui);font-size:.78rem;font-variant-numeric:tabular-nums;font-weight:600;inset:0;justify-content:center;letter-spacing:0;pointer-events:none;position:absolute;text-shadow:0 1px 2px #060c12a6;transform:translateY(.05rem)}.photo__control-count--tight{font-size:.72rem;letter-spacing:-.01em}.square{--photo-aspect:1/1}.wide{--photo-aspect:16/9}.content-status{align-items:center;display:flex;flex-direction:column;font-size:1.2rem;gap:.75rem;margin:2rem 0;opacity:.7;text-align:center}.content-status--error{color:#c0392b;opacity:1}.content-blocks-sentinel{height:1px;width:100%}.content-status__retry{background:var(--text-color);border:none;border-radius:999px;color:#fff;cursor:pointer;font-size:.9rem;padding:.45rem 1rem;transition:background .25s cubic-bezier(.33,1,.68,1),color .25s cubic-bezier(.33,1,.68,1),transform .25s cubic-bezier(.33,1,.68,1);transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.content-status__retry:focus-visible,.content-status__retry:hover{background:var(--color-primary-strong);color:#fff;outline:none;transform:translateY(-1px)}.site-footer{color:var(--text-soft);font-size:clamp(.68rem,1vw,.85rem);letter-spacing:.01em;margin:clamp(2rem,5vw,3rem) auto clamp(1.5rem,4vw,2.5rem);max-width:1440px;padding:0 clamp(1.5rem,5vw,2.5rem);text-align:center}.site-footer a{border-bottom:1px solid var(--border-subtle);color:var(--text-muted);text-decoration:none;transition:color .25s cubic-bezier(.33,1,.68,1),border-color .25s cubic-bezier(.33,1,.68,1);transition:color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.site-footer a:focus-visible,.site-footer a:hover{border-bottom-color:var(--color-primary);color:var(--color-primary);outline:none}@media (max-width:576px){.three-squares,.two-wides,.wide-square{grid-template-columns:1fr}}@media (hover:none){.photo{touch-action:manipulation}}.card{border-radius:8px;box-shadow:0 4px 12px #00000026;cursor:pointer;margin:2rem auto;max-width:800px;overflow:hidden;position:relative}.image-container{position:relative;z-index:0}.image-container img{display:block;filter:none;-webkit-filter:grayscale(0);height:auto;width:100%}.card:hover .image-container img{filter:grayscale(100%);-webkit-filter:grayscale(100%);transition:all var(--dur-fast) var(--ease-standard)}.perforation{display:flex;justify-content:space-between;left:5%;opacity:0;pointer-events:none;position:absolute;right:5%;transition:all var(--dur-slow) var(--ease-standard)}.perf-top{top:-10%}.perf-bottom{bottom:-10%}.perf-square{background:#ffffffe6;border-radius:3px;box-shadow:0 2px 8px #0003;padding-top:4%;width:4%}.card:hover .perforation{opacity:1}.card:hover .perf-top{top:2%}.card:hover .perf-bottom{bottom:2%}.card-controls{display:flex;gap:1.5rem;left:50%;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%);transition:opacity var(--dur-base) var(--ease-out);z-index:2}.card:hover .card-controls{opacity:1}.control-btn{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fffffff2;border:none;border-radius:10%;box-shadow:0 4px 12px #00000026;cursor:pointer;display:flex;height:44px;justify-content:center;transition:all var(--dur-fast) var(--ease-out);width:44px}.control-btn:hover{background:#fff;transform:scale(1.1)}.control-btn.liked{color:#e74c3c}@media (max-width:768px){.perf-square{padding-top:5%;width:5%}}.photo-detail{-webkit-overflow-scrolling:touch;background:#fff;background:var(--bg-color,#fff);color:var(--text-default);display:flex;flex-direction:column;inset:0;opacity:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;position:fixed;touch-action:pan-y;z-index:1000}.photo-detail__pagination{align-self:center;flex:0 0 auto;margin:calc(.65rem + env(safe-area-inset-top, 0px)) auto 0;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 12%,#000 88%,#0000);mask-image:linear-gradient(90deg,#0000 0,#000 12%,#000 88%,#0000);max-width:100%;overflow:hidden;padding:0;pointer-events:none;width:min(85vw,280px)}.photo-detail__pagination-track{align-items:center;display:flex;gap:6px;transition:transform var(--dur-base) var(--ease-out);will-change:transform}.photo-detail__pagination-dot{background:var(--border-subtle);border-radius:999px;display:block;flex:0 0 auto;height:6px;transition:width var(--dur-base) var(--ease-out),background var(--dur-base) var(--ease-out),opacity var(--dur-base) var(--ease-out);width:6px}.photo-detail__pagination-dot--active{background:var(--color-primary);width:22px}@media (hover:none){.photo-detail__pagination{display:inline-flex}}.photo-detail__actionbar{align-items:center;align-self:center;background:#0000;border-radius:999px;display:flex;flex:0 0 auto;gap:clamp(.3rem,.8vw,.5rem);margin:clamp(.15rem,.5vw,.4rem) auto 0;padding:4px;will-change:transform,opacity}.photo-detail__actionbar-item{align-items:center;display:inline-flex;justify-content:center}.photo-detail__actionbar-item .photo__control{background:#0000;border-radius:999px;box-shadow:none;height:clamp(38px,4.5vw,44px);min-width:clamp(38px,4.5vw,44px);padding:0 clamp(.65rem,1.3vw,.85rem);transform:none;width:auto}.photo-detail__actionbar-item .photo__control--has-count{transform:none}.photo-detail__actionbar-item .photo__control{color:var(--text-muted)}.photo-detail__actionbar-item .photo__control:hover{background:var(--surface-tinted-strong);color:var(--color-primary-strong);transform:scale(1.06)}.photo-detail__actionbar-item .photo__control-icon{gap:.4rem;position:static}.photo-detail__actionbar-item .photo__control-icon i,.photo-detail__actionbar-item .photo__control-icon--liked i,.photo-detail__actionbar-item .photo__control-icon--wide i,.photo-detail__actionbar-item .photo__control-icon--with-count i{font-size:1.2rem}.photo-detail__actionbar-item .photo__control-count,.photo-detail__actionbar-item .photo__control-count--tight{font-feature-settings:"tnum";align-items:center;color:currentColor;display:inline-flex;font-family:var(--font-ui);font-size:clamp(.95rem,1.15vw,1.05rem);font-variant-numeric:tabular-nums;font-weight:600;inset:auto;letter-spacing:0;padding:0;position:static;text-shadow:none;transform:none}.photo-detail__actionbar-item .photo__control--like:not(.liked) .photo__control-count{color:var(--text-muted);text-shadow:none}.photo-detail__actionbar-item .photo__control--like.liked{color:#ff5b7b}.photo-detail__actionbar-button{align-items:center;background:#0000;border:none;border-radius:999px;color:var(--text-muted);cursor:pointer;display:inline-flex;font-size:1.2rem;height:clamp(38px,4.5vw,44px);justify-content:center;transition:transform var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out);width:clamp(38px,4.5vw,44px)}.photo-detail__actionbar-button:focus-visible,.photo-detail__actionbar-button:hover{background:var(--surface-tinted-strong);color:var(--color-primary-strong);outline:none;transform:scale(1.08)}.photo-detail__actionbar-button:active{transform:scale(.94)}.photo-detail__actionbar-divider{background:var(--border-subtle);flex-shrink:0;height:1.2rem;margin:0 2px;width:1px}.photo-detail__actionbar-button--back i{font-size:1.15rem}.photo-detail__scroll-hint{bottom:calc(.4rem + env(safe-area-inset-bottom, 0px));left:50%;opacity:0;pointer-events:none;position:fixed;transform:translateX(-50%);transition:opacity var(--dur-slow) var(--ease-out);z-index:1002}.photo-detail__scroll-hint-bounce{color:var(--text-soft);display:block;font-size:1.3rem;line-height:1}.photo-detail--show-hint .photo-detail__scroll-hint{opacity:1}.photo-detail--show-hint .photo-detail__scroll-hint-bounce{animation:photo-detail-scroll-hint 1.8s ease-in-out infinite}@keyframes photo-detail-scroll-hint{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}.photo-detail__heart-splash{color:#ff5b7b;filter:drop-shadow(0 10px 24px rgba(255,91,123,.45));font-size:clamp(80px,14vw,140px);line-height:1;pointer-events:none;position:fixed;transform:translate(-50%,-50%);will-change:transform,opacity;z-index:1800}.photo-detail__heart-splash i{display:inline-flex;line-height:1}.photo-detail__image-container{align-items:center;box-sizing:border-box;display:flex;flex:0 0 auto;justify-content:center;margin:0 auto;min-height:50vh;min-height:50dvh;padding:clamp(.5rem,1vw,.9rem) clamp(1rem,4vw,2.5rem) 0;position:relative;touch-action:pan-y;width:100%}@media (hover:hover){.photo-detail__image-container{cursor:pointer}}.photo-detail__image{-webkit-backface-visibility:hidden;backface-visibility:hidden;border-radius:18px;display:block;max-height:70vh;max-height:70dvh;max-width:100%;object-fit:contain;pointer-events:none;position:relative;transform:translateZ(0);-webkit-user-select:none;user-select:none;z-index:1}.photo-detail__loader{background:var(--scrim-loader);z-index:2}.photo-detail__loader,.photo-detail__nav-spinner{align-items:center;display:flex;inset:0;justify-content:center;pointer-events:none;position:absolute}.photo-detail__nav-spinner{animation:photo-detail-spinner-fade-in .25s ease-out both;z-index:3}.photo-detail__nav-spinner-ring{animation:photo-detail-loader-spin .85s linear infinite;border:3px solid var(--surface-tinted-strong);border-radius:50%;border-top-color:var(--color-primary);filter:drop-shadow(0 2px 8px rgba(2,6,10,.15));height:34px;width:34px}@keyframes photo-detail-spinner-fade-in{0%{opacity:0}to{opacity:1}}.photo-detail__loader-ring{animation:photo-detail-loader-spin .85s linear infinite;border:clamp(3px,.8vw,5px) solid var(--surface-tinted-strong);border-radius:50%;border-top-color:var(--color-primary);height:clamp(40px,7vw,56px);width:clamp(40px,7vw,56px);z-index:10}.photo-detail__info{display:flex;flex:0 0 auto;flex-direction:column;gap:clamp(.7rem,1.5vw,1.1rem);height:auto;justify-content:center;margin:0 auto;min-height:0;opacity:0;padding:clamp(1.5rem,3vw,2.2rem) clamp(1.4rem,4vw,2.8rem) clamp(1.25rem,2.5vw,2rem);text-align:center;width:min(100%,1200px)}.photo-detail__description{color:var(--color-primary);font-family:var(--font-display);font-size:clamp(1.25rem,1.6vw,1.85rem);font-style:italic;font-weight:500;letter-spacing:.005em;line-height:1.45;margin:0 auto;max-width:1200px;width:100%}.photo-detail__brand{-webkit-text-fill-color:#0000;align-self:center;background:var(--logo-gradient);background-clip:text;-webkit-background-clip:text;color:#0000;display:inline-block;flex:0 0 auto;font-family:var(--font-display);font-size:clamp(.85rem,1.1vw,1rem);font-weight:600;letter-spacing:.2em;margin-bottom:calc(clamp(1rem, 2.5vw, 1.75rem) + env(safe-area-inset-bottom, 0px));margin-top:auto;text-align:center;-webkit-user-select:none;user-select:none}.photo-detail__exif-chips{display:flex;flex-wrap:wrap;gap:clamp(.35rem,.9vw,.6rem);justify-content:center;list-style:none;margin:0 auto;max-width:1200px;padding:0;width:100%}.photo-detail__exif-chip{font-feature-settings:"tnum";align-items:center;background:var(--surface-tinted);border-radius:999px;color:var(--text-muted);display:inline-flex;font-family:var(--font-ui);font-size:clamp(.78rem,.95vw,.9rem);font-variant-numeric:tabular-nums;font-weight:500;letter-spacing:.01em;padding:.3em .8em;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out);white-space:nowrap}.photo-detail__exif-chip:hover{background:var(--surface-tinted-strong);color:var(--color-primary-strong);transform:translateY(-1px)}body.photo-detail-open{overflow:hidden}@keyframes photo-detail-loader-spin{to{transform:rotate(1turn)}}@media (max-width:844px){.photo-detail__image-container{padding:1.25rem 1rem clamp(.75rem,3vw,1.25rem)}.photo-detail__image{border-radius:14px;max-height:65vh;max-height:65dvh}.photo-detail__info{gap:.5rem;margin-top:0;min-height:0;padding:.8rem 1rem 1rem}.photo-detail__description{font-size:.95rem}.photo-detail__actionbar{gap:.3rem;margin-bottom:calc(1rem + env(safe-area-inset-bottom, 0px));padding:.3rem}.photo-detail__actionbar-button{font-size:1.3rem;height:44px;width:44px}.photo-detail__actionbar-item .photo__control{height:44px;min-width:44px;padding:0 .7rem}.photo-detail__actionbar-item .photo__control-icon i,.photo-detail__actionbar-item .photo__control-icon--liked i,.photo-detail__actionbar-item .photo__control-icon--wide i,.photo-detail__actionbar-item .photo__control-icon--with-count i{font-size:1.3rem}.photo-detail__actionbar-item .photo__control-count,.photo-detail__actionbar-item .photo__control-count--tight{font-size:.95rem}}
/*# sourceMappingURL=main.0f185888.css.map*/