[data-theme=dark]{--color-bg:#0f1210;--color-bg-elevated:#161a18;--color-surface:#1c211e;--color-text:#e8e6e1;--color-text-muted:#9a9690;--color-accent:#8f9f83;--color-accent-hover:#a6b598;--color-on-accent:#101210;--color-border:#2d3230;--navbar-bg:#0f1210e0;--nav-link-hover-bg:#ffffff0f;--hero-overlay-top:#0f12106b;--hero-overlay-bottom:#0f1210e0;--cta-secondary-hover-bg:#ffffff0a}[data-theme=light]{--color-bg:#f7f5f0;--color-bg-elevated:#eeece7;--color-surface:#e6e4df;--color-text:#161a18;--color-text-muted:#5c5852;--color-accent:#6b7d5f;--color-accent-hover:#546548;--color-on-accent:#f8f7f4;--color-border:#d4d1ca;--navbar-bg:#f7f5f0eb;--nav-link-hover-bg:#0000000f;--hero-overlay-top:#f7f5f080;--hero-overlay-bottom:#f7f5f0ed;--cta-secondary-hover-bg:#0000000a}:root{--font-display:"Cormorant Garamond","Libre Baskerville",Georgia,serif;--font-ui:"DM Sans",system-ui,sans-serif;--header-height:5.25rem;--motion-fast:180ms ease;--radius-sm:6px;--radius-md:10px;--layout-max-width:100%;--gallery-page-inline:clamp(16px,3.25vw,28px);--gallery-gap:14px}*,:after,:before{box-sizing:border-box}html{height:100%}body{-webkit-font-smoothing:antialiased;background:var(--color-bg);color:var(--color-text);font-family:var(--font-ui);font-size:1rem;line-height:1.5;margin:0;min-height:100%}@media (prefers-reduced-motion:no-preference){body{transition:background-color .45s ease,color .45s ease}}#root{min-height:100%}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.public-navbar{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:var(--navbar-bg);border-bottom:1px solid var(--color-border);display:flex;height:var(--header-height);left:0;padding:0 1.5rem;position:fixed;right:0;top:0;z-index:200}.public-navbar-side{align-items:center;display:flex;flex:1 1;min-width:0}.public-navbar-side-left{flex:0 0 auto;justify-content:flex-start}.public-navbar-side-right{flex:1 1 auto;justify-content:flex-end}.public-navbar-center{flex:0 0 auto;margin-left:.9rem}.public-navbar-brand{align-items:center;color:var(--color-text);display:flex;gap:1rem;text-decoration:none}.public-navbar-logo{display:block;height:4.4rem;mix-blend-mode:normal;opacity:1;width:auto}.public-navbar-mark{background:var(--color-text);border-radius:var(--radius-sm);color:var(--color-bg);display:inline-grid;font-family:var(--font-ui);font-size:.65rem;font-weight:700;height:2rem;letter-spacing:.08em;place-items:center;width:2rem}.public-navbar-links{align-items:center;display:flex;gap:.25rem;list-style:none;margin:0;padding:0}.public-navbar-links li{margin:0}.public-nav-link{border-radius:var(--radius-sm);color:var(--color-text-muted);display:inline-block;font-family:var(--font-ui);font-size:.78rem;font-weight:500;letter-spacing:.14em;padding:.45rem .85rem;text-decoration:none;text-transform:uppercase;transition:color var(--motion-fast),background var(--motion-fast)}.public-nav-link:hover{background:var(--nav-link-hover-bg);color:var(--color-text)}.public-nav-link.public-nav-active{color:var(--color-accent-hover)}@media (max-width:640px){.public-navbar{justify-content:space-between;padding:0 1rem}.public-navbar-center{margin-left:auto}.public-navbar-side{flex:0 0 auto}.public-navbar-side-right{display:none}.public-navbar-logo{height:3rem;width:auto}.public-nav-link{font-size:.68rem;letter-spacing:.1em;padding:.4rem .55rem}}.public-root{background:var(--color-bg);color:var(--color-text);display:flex;flex-direction:column;min-height:100vh}.public-main{flex:1 1;padding-top:var(--header-height);width:100%}.admin-root{background:#f4f3ef;color:#1a1a1a;display:flex;flex-direction:column;min-height:100vh}.admin-header{align-items:center;background:#fff;border-bottom:1px solid #ddd;display:flex;flex-shrink:0;height:var(--header-height);justify-content:space-between;padding:0 1.25rem}.admin-brand{color:#333;font-size:.95rem;font-weight:600;letter-spacing:.04em}.admin-back,.admin-brand{font-family:var(--font-ui)}.admin-back{color:#444;font-size:.88rem;letter-spacing:.06em;text-decoration:none;text-transform:uppercase}.admin-back:hover{color:#111}.admin-main{flex:1 1;overflow:auto;padding:1rem 1.25rem 2rem}.about{min-height:min(70vh,720px);width:100%}.about-inner{margin:0 auto;max-width:min(64rem,100%);padding:2.25rem var(--gallery-page-inline) 3.5rem}.about-split{grid-gap:clamp(2.25rem,5vw,4rem);align-items:start;border-bottom:1px solid var(--color-border);display:grid;gap:clamp(2.25rem,5vw,4rem);grid-template-columns:minmax(0,1fr) minmax(280px,400px);padding-bottom:2.5rem}.about-split-main{min-width:0}.about-eyebrow{color:var(--color-text-muted);font-family:var(--font-ui);font-size:.72rem;letter-spacing:.22em;margin:0 0 .35rem;text-transform:uppercase}.about-headline{color:var(--color-text);font-family:var(--font-display);font-size:clamp(1.85rem,3.8vw,2.35rem);font-weight:500;letter-spacing:.02em;line-height:1.2;margin:0 0 1.35rem}.about-prose p{color:var(--color-text);font-size:1.0625rem;line-height:1.7;margin:0 0 1.15rem;max-width:38rem}.about-prose p:last-of-type{margin-bottom:0}.about-signoff{color:var(--color-text-muted);font-family:var(--font-display);font-size:1.15rem;font-style:italic;letter-spacing:.02em;margin-bottom:0!important;margin-top:1.65rem!important}.about-split-rail{display:flex;flex-direction:column;gap:.7rem;min-width:0}.about-rail-photo{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);margin:0;overflow:hidden}.about-rail-photo img{display:block;height:auto;vertical-align:bottom;width:100%}@media (max-width:840px){.about-split{gap:2rem;grid-template-columns:1fr;padding-bottom:2rem}.about-split-rail{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(3,1fr);max-width:100%}}@media (max-width:520px){.about-split-rail{grid-template-columns:1fr}}.about-contact{padding:2.25rem 0 0;text-align:left}.about-contact-title{color:var(--color-text);font-family:var(--font-display);font-size:1.35rem;font-weight:500;letter-spacing:.03em;margin:0 0 .5rem}.about-contact-lede{color:var(--color-text-muted);font-size:.98rem;line-height:1.55;margin:0 0 1.35rem;max-width:28rem}.about-contact-links{display:flex;flex-direction:column;gap:.9rem;list-style:none;margin:0;max-width:32rem;padding:0}.about-contact-link{align-items:center;border-radius:var(--radius-sm);color:var(--color-text);display:inline-flex;font-family:var(--font-ui);font-size:.95rem;gap:.65rem;line-height:1.4;padding:.35rem 0;text-decoration:none;transition:color var(--motion-fast)}.about-contact-link:hover{color:var(--color-accent-hover)}.about-contact-icon{display:block;flex-shrink:0;height:1.85rem;transition:transform var(--motion-fast);width:1.85rem}.about-contact-link:hover .about-contact-icon{transform:scale(1.07)}.about-footer-link{border-top:1px solid var(--color-border);margin:2.5rem 0 0;padding-top:2rem}.about-footer-link a{border-bottom:1px solid #0000;color:var(--color-text-muted);font-family:var(--font-ui);font-size:.9rem;letter-spacing:.06em;text-decoration:none;transition:color var(--motion-fast),border-color var(--motion-fast)}.about-footer-link a:hover{border-bottom-color:var(--color-accent-hover);color:var(--color-accent-hover)}@media (max-width:640px){.about-inner{padding-top:1.5rem}}.Portfolio{grid-gap:0;background:#fff;display:grid;gap:0;grid-auto-flow:dense;grid-auto-rows:600px;grid-template-columns:repeat(auto-fill,minmax(600px,1fr));height:100%;margin:0;padding:0;width:100%}.Portfolio-item{align-items:center;background:#0000;display:flex;height:100%;justify-content:center;overflow:hidden;position:relative;width:100%}.Portfolio-item img{border:none;box-shadow:none;display:block;height:100%;margin:0;object-fit:contain;padding:0;width:100%}.grid-panorama{grid-column:span 2;grid-row:span 1}.grid-vertical{grid-column:span 1;grid-row:span 2}.grid-1x1{grid-column:span 1;grid-row:span 1}.portfolio{margin:0 auto;max-width:var(--layout-max-width);padding:28px var(--gallery-page-inline) 60px}.portfolio-embedded{max-width:none;padding:0 var(--gallery-page-inline) 0}.portfolio-title{color:var(--color-text);font-family:var(--font-display);font-size:2rem;font-weight:600;letter-spacing:.04em;margin:0 0 18px}.gallery-grid-tile-pending{background:#00000012;height:100%;width:100%}.portfolio-grid{grid-gap:var(--gallery-gap);display:grid;gap:var(--gallery-gap);grid-template-columns:repeat(12,1fr);margin-bottom:40px}.collection-detail-grid{margin-bottom:0}.portfolio-card{background:var(--color-surface);border-radius:0;cursor:pointer;grid-column:span 4;overflow:hidden;position:relative;transition:transform .16s ease,box-shadow .16s ease}.portfolio-card:before{content:"";display:block;padding-top:75%}.portfolio-card.grid-1x1:before{padding-top:75%}.portfolio-card.grid-panorama:before{padding-top:34%}.portfolio-card.grid-panorama{grid-column:1/-1}.portfolio-card.grid-panorama img{background:#0000000d;object-fit:contain}.portfolio-card.grid-vertical:before{padding-top:133.33%}.portfolio-card.grid-vertical img{background:#0000000d;object-fit:contain}.portfolio-card img{display:block;height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.portfolio-missing-url{background:#2a2e2a;background:var(--color-surface-elevated,#2a2e2a);height:100%;min-height:120px;width:100%}.portfolio-card:hover{box-shadow:0 12px 40px #00000059;transform:translateY(-2px)}.portfolio-card:hover img{transform:scale(1.05)}.portfolio-card:hover .card-overlay{opacity:1}.portfolio-card .card-overlay--always{opacity:1;pointer-events:none}.card-title{text-transform:none}.card-description{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:#ffffffe0;display:-webkit-box;font-family:var(--font-ui);font-size:.75rem;font-weight:400;margin-top:4px;max-height:60px;overflow:hidden;text-overflow:ellipsis}.portfolio-error,.portfolio-loading{color:var(--color-text-muted);font-size:1.1rem;padding:20px;text-align:center}.portfolio-error{background:#501e1e59;border:1px solid #c8646473;border-radius:var(--radius-md);color:#e8a0a0;margin:20px 0}.portfolio-card.loading{background:var(--color-bg-elevated);overflow:hidden;position:relative}.portfolio-card.loading:after{animation:loading-shimmer 1.5s infinite;background:linear-gradient(90deg,#0000,#fff6,#0000);content:"";height:100%;left:0;position:absolute;top:0;width:100%}@media (max-width:1200px){.portfolio-card.grid-1x1{grid-column:span 6}.portfolio-card.grid-panorama{grid-column:span 12}.portfolio-card.grid-vertical{grid-column:span 4}}@media (max-width:768px){.portfolio-card.grid-1x1{grid-column:span 6}.portfolio-card.grid-panorama{grid-column:span 12}.portfolio-card.grid-vertical{grid-column:span 6}}@media (max-width:480px){.portfolio-card{grid-column:span 12!important}}.portfolio-modal{align-items:center;background:linear-gradient(180deg,rgba(174,181,192,.995),rgba(158,165,176,.995));box-sizing:border-box;display:flex;height:100dvh;justify-content:center;left:0;min-height:100%;padding:4px max(8px,env(safe-area-inset-right)) 4px max(8px,env(safe-area-inset-left));position:fixed;top:0;width:100%;z-index:1000}.portfolio-modal-content{align-items:stretch;flex-direction:column;max-height:100dvh;max-width:min(100vw - 16px,100%);min-width:0}.portfolio-modal-content,.portfolio-modal-stage{box-sizing:border-box;display:flex;justify-content:center;min-height:0;width:100%}.portfolio-modal-stage{align-items:center;height:min(92dvh,calc(100dvh - 24px))}.portfolio-modal-content:has(.portfolio-modal-info) .portfolio-modal-stage{height:min(calc(100dvh - 170px),86dvh)}.portfolio-modal-content.is-loading .portfolio-modal-img{filter:blur(1px);opacity:.35}.portfolio-modal-img{border-radius:0;box-shadow:0 4px 20px #0000004d;cursor:pointer;display:block;height:100%;max-height:100%;max-width:100%;object-fit:contain;object-position:center;opacity:1;transition:opacity .16s ease,filter .16s ease;width:100%}.portfolio-modal-nav{background:#fff6;border:none;color:#1a1d22e0;cursor:pointer;font-size:2rem;opacity:.9;padding:10px;position:absolute;top:50%;transform:translateY(-50%);transition:opacity .2s;z-index:1001}.portfolio-modal-nav:hover{opacity:1}.portfolio-modal-prev{left:20px}.portfolio-modal-next{right:20px}.portfolio-modal-info{color:#16191eeb;margin-top:8px;padding:12px 10px 4px;text-align:center}.portfolio-modal-title{font-size:.8125rem;letter-spacing:.06em;margin:0 0 6px}.portfolio-modal-description,.portfolio-modal-title{font-family:var(--font-ui);font-weight:400;line-height:1.35}.portfolio-modal-description{color:#181b20c2;font-size:.75rem;letter-spacing:.02em;margin:0;max-width:600px}.collection-detail{margin:0 auto;max-width:var(--layout-max-width);padding:28px var(--gallery-page-inline) 60px}.collection-header{margin-bottom:1.5rem}.collection-header h1{color:var(--color-text);font-family:var(--font-display);font-weight:600;letter-spacing:.03em;margin:.35rem 0 0}.collection-detail .back-link{color:var(--color-accent-hover);font-family:var(--font-ui);font-size:.82rem;letter-spacing:.06em;text-decoration:none}.collection-detail .back-link:hover{text-decoration:underline}.collection-detail .error-message{color:#e8a0a0}.collection-detail .Portfolio{background:#0000}.collections{margin:0 auto;max-width:var(--layout-max-width);padding:28px var(--gallery-page-inline) 60px}.collections-title{color:var(--color-text);font-family:var(--font-display);font-size:2rem;font-weight:600;letter-spacing:.04em;margin:0 0 18px}.collection-card-placeholder{background:#00000012;height:100%;width:100%}.collections-grid{grid-gap:var(--gallery-gap);display:grid;gap:var(--gallery-gap);grid-template-columns:repeat(12,1fr);margin-bottom:40px}.collection-card{background:var(--color-surface);border-radius:0;cursor:pointer;grid-column:span 4;overflow:hidden;position:relative;transition:transform .16s ease,box-shadow .16s ease}.collection-card:before{content:"";display:block;padding-top:75%}.card-content{height:100%;left:0;position:absolute;top:0;width:100%}.collection-card img{display:block;height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.collection-card.grid-1x1:before{padding-top:75%}.collection-card.grid-panorama:before{padding-top:34%}.collection-card.grid-panorama{grid-column:1/-1}.collection-card.grid-panorama img{background:#0000000d;object-fit:contain}.collection-card.grid-vertical:before{padding-top:133.33%}.collection-card.grid-vertical img{background:#0000000d;object-fit:contain}@media (max-width:1200px){.collection-card.grid-1x1{grid-column:span 6}.collection-card.grid-panorama{grid-column:span 12}.collection-card.grid-vertical{grid-column:span 4}}@media (max-width:768px){.collection-card.grid-1x1{grid-column:span 6}.collection-card.grid-panorama{grid-column:span 12}.collection-card.grid-vertical{grid-column:span 6}}@media (max-width:480px){.collection-card{grid-column:span 12!important}}.collection-card:hover{box-shadow:0 12px 40px #00000059;transform:translateY(-2px)}.collection-card:hover img{transform:scale(1.05)}.card-overlay{background:linear-gradient(0deg,#000000b3,#0000001a,#0000);display:flex;flex-direction:column;inset:0;justify-content:flex-end;opacity:0;padding:16px;pointer-events:none;position:absolute;transition:opacity .2s ease}.collection-card:hover .card-overlay{opacity:1}.card-title{color:#fff;font-family:var(--font-ui);font-size:.8125rem;font-weight:400;letter-spacing:.06em;line-height:1.35;text-shadow:0 1px 3px #0000008c}.collections-grid .collection-card .card-title{color:#fff;font-family:var(--font-ui);font-size:.78rem;font-weight:500;letter-spacing:.12em;line-height:1.35;text-shadow:0 1px 10px #000000b3;text-transform:uppercase}@media (max-width:640px){.collections-grid .collection-card .card-title{font-size:.68rem;letter-spacing:.1em}}.collections-empty,.collections-error,.collections-loading{color:var(--color-text-muted);font-size:1.1rem;padding:20px;text-align:center}.collections-error{background:#501e1e59;border:1px solid #c8646473;border-radius:var(--radius-md);color:#e8a0a0;margin:20px 0}.collection-card.loading{background:var(--color-bg-elevated);overflow:hidden;position:relative}.collection-card.loading:after{animation:loading-shimmer 1.5s infinite;background:linear-gradient(90deg,#0000,#fff6,#0000);content:"";height:100%;left:0;position:absolute;top:0;width:100%}@keyframes loading-shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.collection-header{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.collection-header h1{font-size:2rem;font-weight:700;margin:0}.back-link{color:#333;display:inline-block;font-size:1.1rem;margin-bottom:8px;text-decoration:none}.back-link:hover{color:#000;text-decoration:underline}.error-message{background:#fff5f5;border:1px solid #ffd8d6;border-radius:6px;color:#d32f2f;font-size:1.1rem;padding:12px}.image-placeholder{align-items:center;background-color:#f0f0f0;color:#666;display:flex;font-size:1rem;height:100%;justify-content:center;min-height:200px;padding:20px;text-align:center;width:100%}.admin-container{background:#fff;border-radius:12px;box-shadow:0 2px 16px #00000014;margin:60px auto;max-width:500px;padding:40px}.admin-title{color:#222;font-size:2rem;font-weight:700;margin-bottom:24px}.admin-form label{display:block;font-weight:500;margin-bottom:6px}.admin-form input[type=password],.admin-form input[type=text]{border:1px solid #bbb;border-radius:4px;font-size:1rem;margin-bottom:16px;padding:8px 10px;width:100%}.admin-form button{background:#1976d2;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:2rem;margin-right:8px;padding:8px 18px;transition:background .2s}.admin-form button:disabled{background:#aaa;cursor:not-allowed}.admin-error{color:#d32f2f;margin-bottom:14px}.admin-panel{font-size:1.8rem;margin-left:40px;padding:20px}.admin-section{font-size:1.5rem;margin-top:32px}.admin-section h2{color:#1976d2;font-size:1.6rem;margin-bottom:12px}.admin-upload-input{font-size:1.2rem;margin-bottom:12px}.admin-file-list{grid-gap:12px;display:grid;gap:12px;margin-top:12px}.admin-file-metadata{background:#fafafa;border:1px solid #e0e0e0;border-radius:8px;padding:12px}.admin-file-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.admin-file-metadata label{display:block;margin:6px 0}.admin-file-metadata input[type=text],.admin-file-metadata textarea{border:1px solid #bbb;border-radius:4px;font-size:1rem;padding:8px 10px;width:100%}.admin-remove{background:#0000;border:1px solid #d32f2f;border-radius:4px;color:#d32f2f;cursor:pointer;padding:4px 8px}.admin-remove:hover{background:#ffe5e5}.admin-file-metadata select{background-color:#fff;border:1px solid #bbb;border-radius:4px;font-size:1rem;margin-top:4px;padding:8px 10px;width:100%}.admin-upload-hint{color:#555;font-size:.9rem;line-height:1.45;margin:0 0 12px;max-width:42rem}
/*# sourceMappingURL=main.3a1576ac.css.map*/