.quantity-control{display:flex;flex-direction:column;gap:.4rem}.quantity-control-label{font-family:var(--font-sans);font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:#777}.quantity-control-inputs{display:inline-flex;align-items:center;gap:0;width:fit-content;border:1px solid #c8c3b8;border-radius:2px;overflow:hidden;background:#fff}.quantity-control-btn{width:2.25rem;height:2.25rem;border:none;background:#f3f0ea;color:#2a3a52;font-size:1.1rem;line-height:1;cursor:pointer;transition:background .2s ease}.quantity-control-btn:hover:not(:disabled){background:#e8e4dc}.quantity-control-btn:disabled{opacity:.45;cursor:not-allowed}.quantity-control-field{width:2.75rem;height:2.25rem;border:none;border-left:1px solid #c8c3b8;border-right:1px solid #c8c3b8;text-align:center;font-family:var(--font-sans);font-size:.95rem;color:#2a3a52;background:#fff;-moz-appearance:textfield}.quantity-control-field::-webkit-outer-spin-button,.quantity-control-field::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.quantity-control-field:disabled{opacity:.6;cursor:not-allowed}.quantity-control--dark .quantity-control-label{color:#ffffffbf}.quantity-control--dark .quantity-control-inputs{border-color:#ffffff73;background:#00000040}.quantity-control--dark .quantity-control-btn{background:#ffffff1f;color:#fff}.quantity-control--dark .quantity-control-btn:hover:not(:disabled){background:#fff3}.quantity-control--dark .quantity-control-field{border-color:#ffffff73;background:transparent;color:#fff}.quantity-control--compact .quantity-control-label{display:none}.cart-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;border:none;padding:0;background:#24283059;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;cursor:pointer}.cart-drawer-overlay.open{opacity:1;visibility:visible}.cart-drawer{position:fixed;top:0;right:0;z-index:151;display:flex;flex-direction:column;width:min(420px,92vw);height:100vh;height:100dvh;background:var(--beige);box-shadow:-4px 0 24px #0000001f;transform:translate(100%);transition:transform .3s ease}.cart-drawer.open{transform:translate(0)}.cart-drawer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid rgba(72,78,93,.12);background:var(--white)}.cart-drawer-title{font-family:var(--font-serif);font-size:1.6rem;font-weight:400;color:var(--navy);margin:0}.cart-drawer-count{margin:.25rem 0 0;color:#666;font-size:.9rem}.cart-drawer-close{flex-shrink:0;width:2.25rem;height:2.25rem;border:none;background:transparent;color:var(--navy);font-size:1.75rem;line-height:1;cursor:pointer;border-radius:4px;transition:background .2s ease,color .2s ease}.cart-drawer-close:hover{background:#484e5d14;color:var(--terracotta)}.cart-drawer-body{flex:1;overflow-y:auto;padding:1rem 1.5rem}.cart-drawer-empty{padding:2rem 0;text-align:center;color:#666}.cart-drawer-empty p{margin:0 0 1rem}.cart-drawer-footer{padding:1.25rem 1.5rem 1.5rem;border-top:1px solid rgba(72,78,93,.12);background:var(--white)}.cart-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem}.cart-item{display:grid;grid-template-columns:72px 1fr auto;gap:.75rem;align-items:start;padding:1rem;background:var(--white);border:1px solid rgba(72,78,93,.12);border-radius:4px}.cart-item-image-wrap{width:72px;height:72px;background:#ede8dd;display:flex;align-items:center;justify-content:center;overflow:hidden}.cart-item-image{max-width:100%;max-height:100%;object-fit:contain}.cart-item-image-placeholder{width:100%;height:100%;background:#e8e4dc}.cart-item-title{font-family:var(--font-serif);font-size:1rem;font-weight:400;margin:0 0 .25rem;color:var(--navy)}.cart-item-price{margin:0 0 .15rem;color:#555;font-size:.85rem}.cart-item-line-total{margin:0 0 .65rem;color:var(--navy);font-size:.9rem;font-weight:500}.cart-item-quantity{margin-top:.15rem}.cart-remove-btn{background:none;border:none;color:#888;font-size:.8rem;cursor:pointer;padding:.15rem 0;text-decoration:underline}.cart-remove-btn:hover:not(:disabled){color:var(--terracotta)}.cart-subtotal-row{display:flex;justify-content:space-between;font-size:1.05rem;font-weight:500;margin-bottom:.5rem;color:var(--navy)}.cart-shipping-note{color:#777;font-size:.85rem;margin-bottom:1rem}.cart-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:4px;padding:.75rem 1rem;margin-bottom:1rem;font-size:.9rem}.cart-checkout-btn{width:100%;background:#3a7d5a;color:#fff;border:none;border-radius:2px;padding:14px 22px;font-family:var(--font-sans);font-size:.95rem;font-weight:500;letter-spacing:.5px;cursor:pointer;transition:background .25s ease}.cart-checkout-btn:hover:not(:disabled){background:#2c5f44}.cart-checkout-btn:disabled{opacity:.6;cursor:wait}.cart-actions-secondary{display:flex;justify-content:space-between;align-items:center;margin-top:.85rem}.cart-continue-link{background:none;border:none;padding:0;color:var(--navy);font-size:.9rem;text-decoration:underline;cursor:pointer}.cart-continue-link:hover{color:var(--terracotta)}.cart-clear-btn{background:none;border:none;color:#888;font-size:.85rem;cursor:pointer;text-decoration:underline}.cart-clear-btn:hover:not(:disabled){color:var(--terracotta)}@media (max-width: 600px){.cart-item{grid-template-columns:64px 1fr;grid-template-rows:auto auto}.cart-remove-btn{grid-column:2;justify-self:start}}.order-success-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#2428308c;animation:orderSuccessFadeIn .2s ease}@keyframes orderSuccessFadeIn{0%{opacity:0}to{opacity:1}}.order-success-modal{position:relative;width:min(520px,100%);max-height:90vh;overflow-y:auto;padding:2rem 1.75rem 1.75rem;background:var(--white);border-radius:10px;box-shadow:0 20px 50px #0000002e;animation:orderSuccessSlideUp .25s ease}@keyframes orderSuccessSlideUp{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.order-success-close{position:absolute;top:.85rem;right:.85rem;width:2rem;height:2rem;border:none;border-radius:50%;background:transparent;color:var(--charcoal);font-size:1.5rem;line-height:1;cursor:pointer}.order-success-close:hover{background:#484e5d14}.order-success-header{text-align:center;margin-bottom:1.5rem}.order-success-icon{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;margin-bottom:.75rem;border-radius:50%;background:#dcfce7;color:#166534;font-size:1.5rem;font-weight:700}.order-success-header h2{font-family:var(--font-serif);font-size:1.6rem;color:var(--charcoal);margin-bottom:.35rem}.order-success-subtitle,.order-success-loading p,.order-success-error p,.order-success-email-note{color:#484e5dcc;font-size:.95rem;line-height:1.5}.order-success-section{padding:1rem 0;border-top:1px solid rgba(72,78,93,.12)}.order-success-section h3{font-size:.8rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#484e5da6;margin-bottom:.75rem}.order-success-order-id{display:flex;justify-content:space-between;gap:1rem;font-size:.85rem;color:#484e5dbf;margin-bottom:.75rem;word-break:break-all}.order-success-items{list-style:none;margin:0;padding:0}.order-success-item{display:flex;justify-content:space-between;gap:1rem;padding:.65rem 0;border-bottom:1px solid rgba(72,78,93,.08)}.order-success-item-details{display:flex;flex-direction:column;gap:.15rem}.order-success-item-name{color:var(--charcoal);font-weight:500}.order-success-item-qty{font-size:.85rem;color:#484e5da6}.order-success-item-price{flex-shrink:0;color:var(--charcoal);font-weight:500}.order-success-total{display:flex;justify-content:space-between;gap:1rem;padding-top:.85rem;font-size:1.05rem;font-weight:600;color:var(--charcoal)}.order-success-shipping-name{font-weight:600;color:var(--charcoal);margin-bottom:.25rem}.order-success-address-line,.order-success-email-section p{color:#484e5dd9;line-height:1.5}.order-success-done-btn{width:100%;margin-top:1.25rem;padding:.85rem 1rem;border:none;border-radius:6px;background:var(--charcoal);color:var(--white);font-size:.95rem;font-weight:500;cursor:pointer;transition:opacity .2s ease}.order-success-done-btn:hover{opacity:.9}.order-success-loading,.order-success-error{text-align:center;padding:1rem 0 .5rem}.order-success-loading h2,.order-success-error h2{font-family:var(--font-serif);font-size:1.5rem;color:var(--charcoal);margin-bottom:.5rem}.layout{min-height:100vh;display:flex;flex-direction:column}.header{background-color:var(--white);border-bottom:1px solid rgba(72,78,93,.1);position:sticky;top:0;z-index:100;box-shadow:0 2px 8px #0000000a}.header-content{max-width:1400px;margin:0 auto;padding:1.5rem 2rem;display:flex;justify-content:space-between;align-items:center}.logo-link{display:block;transition:opacity .2s}.logo-link:hover{opacity:.8}.logo{height:70px;width:auto}.nav{display:flex;gap:2.5rem;align-items:center}.nav-link{font-size:.95rem;font-weight:400;letter-spacing:.02em;transition:color .25s cubic-bezier(.4,0,.2,1),text-shadow .25s cubic-bezier(.4,0,.2,1);position:relative;padding-bottom:4px}.nav-link:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:0;height:1px;background-color:var(--terracotta);transition:width .3s cubic-bezier(.4,0,.2,1),height .25s cubic-bezier(.4,0,.2,1),background-color .25s cubic-bezier(.4,0,.2,1)}.nav-link:hover:after{width:100%}.nav-link:hover{color:var(--terracotta);text-shadow:.25px 0 0 currentColor}.nav-link.active{font-weight:500}.nav-link.active:after{width:100%;height:2px;background-color:var(--navy)}.header-utilities{display:flex;align-items:center;gap:.5rem}.nav-cart-icon-link{position:relative;display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;color:var(--navy);border:none;background:transparent;border-radius:4px;cursor:pointer;transition:color .25s ease,background-color .25s ease}.nav-cart-icon-link:hover{color:var(--terracotta);background-color:#484e5d0d}.nav-cart-icon-link.active{color:var(--navy);background-color:#484e5d14}.nav-cart-icon{display:block}.nav-cart-badge{position:absolute;top:0;right:0;transform:translate(25%,-25%);display:inline-flex;align-items:center;justify-content:center;min-width:1.1rem;height:1.1rem;padding:0 .3rem;border-radius:999px;background-color:var(--terracotta);color:var(--white);font-size:.62rem;font-weight:700;line-height:1;border:2px solid var(--white);pointer-events:none}.mobile-menu-toggle{display:none;flex-direction:column;gap:5px;background:none;padding:8px;z-index:101}.mobile-menu-toggle span{width:25px;height:2px;background-color:var(--navy);transition:all .3s ease}.mobile-menu-toggle.open span:nth-child(1){transform:rotate(45deg) translate(7px,7px)}.mobile-menu-toggle.open span:nth-child(2){opacity:0}.mobile-menu-toggle.open span:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}.main-content{flex:1;display:flex;flex-direction:column}.checkout-notification{max-width:900px;margin:1rem auto 0;padding:.85rem 1rem;border-radius:6px;text-align:center;font-size:.95rem}.checkout-notification-success{background:#dcfce7;color:#14532d;border:1px solid #86efac}.checkout-notification-info{background:#e0f2fe;color:#0c4a6e;border:1px solid #7dd3fc}.footer{background-color:var(--white);border-top:1px solid rgba(72,78,93,.1);margin-top:4rem}.footer-content{max-width:1400px;margin:0 auto;padding:2rem;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1rem;font-size:.9rem;color:var(--navy)}.social-links{display:flex;gap:1.5rem;align-items:center}.social-link{color:var(--navy);transition:all .3s;display:inline-flex;align-items:center;justify-content:center;opacity:.7;line-height:1;border:none;background:none;padding:4px;overflow:visible}.social-link svg{width:24px;height:24px;display:block;overflow:visible}.social-link:hover{color:var(--terracotta);opacity:1;transform:translateY(-2px)}@media (max-width: 900px){.header-content{padding:1rem 1.5rem}.logo{height:50px}.mobile-menu-toggle{display:flex}.header-utilities{gap:.25rem}.nav{position:fixed;top:0;right:-100%;height:100vh;width:70%;max-width:300px;background-color:var(--white);flex-direction:column;justify-content:center;gap:2rem;padding:2rem;box-shadow:-2px 0 10px #0000001a;transition:right .3s ease}.nav.mobile-open{right:0}.nav-link{font-size:1.2rem}.footer-content{text-align:center;padding:1.5rem}}@media (max-width: 600px){.logo{height:40px}}.progressive-image{background-repeat:no-repeat}.home-page{background:#faf8f5;padding:60px 80px}.home-container{max-width:1400px;margin:0 auto}.portfolio-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:60px}.grid-column{display:flex;flex-direction:column;gap:15px;cursor:pointer;text-decoration:none}.print-frame{width:100%;aspect-ratio:17 / 22;background:#fff;border:1px solid #e8e3db;overflow:hidden;box-shadow:0 2px 8px #2a3a5214;transition:all .3s;display:flex;align-items:center;justify-content:center;padding:20px}.grid-column:hover .print-frame{transform:translateY(-5px);box-shadow:0 4px 16px #2a3a521f}.print-frame img,.print-frame .progressive-image{width:100%;height:auto;object-fit:contain;display:block}.category-label{font-size:11px;letter-spacing:.5px;text-transform:uppercase;font-weight:400;color:#cc493b;display:inline-block;align-self:center;text-align:center;position:relative;padding-bottom:4px;transition:text-shadow .25s cubic-bezier(.4,0,.2,1)}.grid-column:hover .category-label{text-shadow:.2px 0 0 currentColor}.category-label:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:0;height:1px;background-color:var(--terracotta);transition:width .3s cubic-bezier(.4,0,.2,1)}.grid-column:hover .category-label:after{width:100%}.additional-work-link-container{text-align:center;margin-top:60px}.additional-work-link{display:inline-block;font-size:14px;color:var(--terracotta);text-decoration:none;padding:10px 20px;border-bottom:1px solid transparent;transition:border-color .2s}.additional-work-link:hover{border-bottom:1px solid var(--terracotta)}@media (max-width: 1180px){.home-page{padding:50px 48px}.portfolio-grid{gap:40px}}@media (max-width: 900px){.home-page{padding:44px 32px}.portfolio-grid{grid-template-columns:repeat(2,1fr);gap:36px}}@media (max-width: 600px){.home-page{padding:32px 18px}.portfolio-grid{gap:28px}}.interactive-map-link-container{display:flex;justify-content:center;width:100%;padding-bottom:40px;margin-bottom:40px;border-bottom:1px solid #e8e3db}.interactive-map-link{display:inline-flex;align-items:center;gap:.4rem;color:#2a3a52;text-decoration:none;font-size:14px;font-weight:300;position:relative;padding-bottom:2px}.interactive-map-link{transition:color .25s cubic-bezier(.4,0,.2,1),text-shadow .25s cubic-bezier(.4,0,.2,1)}.interactive-map-link:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:0;height:1px;background-color:var(--terracotta);transition:width .3s cubic-bezier(.4,0,.2,1)}.interactive-map-link:hover{color:var(--terracotta);text-shadow:.25px 0 0 currentColor}.interactive-map-link:hover:after{width:100%}@media (max-width: 768px){.interactive-map-link-container{padding-bottom:30px;margin-bottom:30px}}.about-page{flex:1;display:flex;align-items:center;justify-content:center;padding:4rem 2rem}.about-container{max-width:560px;margin:0 auto;background-color:var(--white);border-radius:8px;padding:3.5rem 3rem;box-shadow:0 4px 20px #484e5d14}.about-content{display:flex;flex-direction:column;align-items:center;gap:1.75rem;text-align:center}.about-heading{font-family:Lora,serif;font-size:2rem;font-weight:500;color:var(--navy);letter-spacing:.5px;margin-bottom:.5rem}.about-text{display:flex;flex-direction:column;gap:1.25rem}.about-paragraph{font-family:Lora,serif;font-size:1.2rem;line-height:1.75;color:var(--navy);opacity:.92;font-weight:400}.contact-cta{display:inline-block;background-color:var(--navy);color:var(--white);padding:.85rem 2.25rem;border-radius:3px;font-family:var(--font-sans);font-size:.95rem;font-weight:500;letter-spacing:.5px;text-align:center;transition:all .25s ease;margin-top:.5rem}.contact-cta:hover{background-color:var(--terracotta);transform:translateY(-2px);box-shadow:0 6px 18px #cc493b2e}@media (max-width: 768px){.about-page{padding:3rem 1rem}.about-container{padding:2.75rem 2rem}.about-heading{font-size:1.75rem}.about-paragraph{font-size:1.1rem}}@media (max-width: 480px){.about-container{padding:2rem 1.5rem}.about-heading{font-size:1.5rem}.about-paragraph{font-size:1.05rem}.contact-cta{width:100%}}.contact-page{flex:1;display:flex;align-items:center;justify-content:center;padding:4rem 2rem}.contact-container{max-width:600px;width:100%;margin:0 auto;background-color:var(--white);border-radius:8px;padding:3rem;box-shadow:0 4px 20px #484e5d14}.contact-heading{font-size:2.5rem;color:var(--navy);text-align:center;margin-bottom:.75rem}.contact-subtitle{text-align:center;color:var(--navy);opacity:.8;font-size:1.05rem;margin-bottom:2rem}.divider{display:flex;align-items:center;text-align:center;margin:2rem 0 1.5rem;color:var(--navy);opacity:.5}.divider:before,.divider:after{content:"";flex:1;border-bottom:1px solid rgba(72,78,93,.2)}.divider span{padding:0 1rem;font-size:.9rem}.email-link{display:block;text-align:center;color:var(--navy);font-size:1.05rem;font-weight:500;transition:color .2s;text-decoration:underline}.email-link:hover{color:var(--terracotta)}.contact-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-label{font-weight:500;color:var(--navy);font-size:.95rem}.form-input,.form-textarea{padding:.875rem 1rem;border:1.5px solid rgba(72,78,93,.2);border-radius:4px;font-family:var(--font-sans);font-size:1rem;color:var(--navy);background-color:var(--beige);transition:all .2s}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--terracotta);background-color:var(--white)}.form-textarea{resize:vertical;min-height:120px}.submit-button{background-color:var(--navy);color:var(--white);padding:1rem 2rem;border-radius:4px;font-size:1.05rem;font-weight:600;transition:all .2s;margin-top:.5rem}.submit-button:disabled{opacity:.6;cursor:wait}.contact-success{text-align:center;padding:2rem 0}.contact-success h2{font-family:Lora,serif;font-size:1.6rem;color:var(--navy);margin-bottom:.6rem;font-weight:500}.contact-success p{font-size:1rem;color:#666;line-height:1.5}.contact-error{padding:.75rem 1rem;background:#fff1ef;border:1px solid #e7c5c0;color:#b0463a;border-radius:6px;font-size:.9rem}.submit-button:hover{background-color:var(--navy);color:var(--white);transform:translateY(-2px);box-shadow:0 6px 20px #ffb6b64d}@media (max-width: 768px){.contact-page{padding:3rem 1rem}.contact-container{padding:2.5rem 2rem}.contact-heading{font-size:2rem}.contact-subtitle{font-size:1rem}}@media (max-width: 480px){.contact-container{padding:2rem 1.5rem}.contact-heading{font-size:1.75rem}.email-button{font-size:.95rem;padding:1rem 1.5rem}}.page-loading-spinner{display:flex;align-items:center;justify-content:center;width:100%;position:relative}.page-loading-spinner__ring{width:50px;height:50px;border:4px solid rgba(72,78,93,.25);border-top-color:var(--terracotta);border-radius:50%;animation:page-loading-spin .8s linear infinite;flex-shrink:0}@keyframes page-loading-spin{to{transform:rotate(360deg)}}.page-loading-spinner__label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.category-title{font-size:2.5rem;color:#484e5d;font-weight:400;letter-spacing:.5px;margin-bottom:15px;font-family:Lora,serif}.about-toggle{background:none;border:none;color:var(--terracotta);font-size:.95rem;cursor:pointer;padding:0;margin-bottom:15px;font-weight:500;transition:opacity .2s;text-align:left}.about-toggle:hover{opacity:.7}.category-description{font-size:1.1rem;color:#484e5d;opacity:.75;line-height:1.6;max-width:600px;animation:fadeIn .3s ease}.interactive-map-section{margin-bottom:20px}.interactive-map-text-link{color:#484e5d;text-decoration:none;font-size:.95rem;display:inline-flex;align-items:center;transition:color .25s cubic-bezier(.4,0,.2,1),text-shadow .25s cubic-bezier(.4,0,.2,1);position:relative;padding-bottom:4px}.interactive-map-text-link:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:0;height:1px;background-color:var(--terracotta);transition:width .3s cubic-bezier(.4,0,.2,1)}.interactive-map-text-link:hover{color:var(--terracotta);text-shadow:.25px 0 0 currentColor}.interactive-map-text-link:hover:after{width:100%}.header-divider{width:100%;height:1px;background-color:#484e5d26;margin:20px 0}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:.75;transform:translateY(0)}}.portfolio-gallery-shell{position:relative}.portfolio-gallery-shell--busy{min-height:min(420px,55vh)}.portfolio-gallery-loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:flex;align-items:center;justify-content:center;min-height:min(420px,55vh);background:#fffcf8e0}.portfolio-gallery-loading__spinner.page-loading-spinner{width:auto}.portfolio-grid-layout-control{display:flex;justify-content:center;align-items:stretch;gap:10px;margin:0 auto 48px;max-width:1600px}.portfolio-grid-layout-option{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-width:88px;padding:12px 14px 10px;border:1px solid rgba(72,78,93,.18);border-radius:8px;background:#f8f6f2f8;color:#484e5db8;cursor:pointer;transition:border-color .2s ease,color .2s ease,background-color .2s ease,box-shadow .2s ease}.portfolio-grid-layout-option:hover{border-color:#c1664a73;color:var(--terracotta)}.portfolio-grid-layout-option--active{border-color:var(--terracotta);background:#c1664a14;color:var(--terracotta);box-shadow:0 2px 10px #c1664a1f}.portfolio-grid-layout-option input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.portfolio-grid-layout-icon{display:block}.portfolio-grid-layout-option-label{font-size:11px;letter-spacing:.04em;text-transform:uppercase;font-weight:500;text-align:center;line-height:1.2}.portfolio-gallery-grid{display:grid;max-width:1600px;margin:0 auto;align-items:start}.portfolio-gallery-grid--cols-1{grid-template-columns:1fr;gap:50px;max-width:400px}.portfolio-gallery-grid--cols-2{grid-template-columns:repeat(2,1fr);gap:80px 60px;max-width:800px}.portfolio-gallery-grid--cols-3{grid-template-columns:repeat(3,1fr);gap:60px}.portfolio-gallery-grid--cols-4{grid-template-columns:repeat(4,1fr);gap:40px;max-width:1400px}.grid-print-item{display:flex;flex-direction:column;gap:20px;cursor:pointer}.grid-image-wrapper{position:relative;display:flex;align-items:center;justify-content:center;width:100%;padding:20px;background:#fff;border:1px solid #e8e3db;overflow:hidden;box-shadow:0 2px 8px #2a3a5214;transition:transform .3s ease,box-shadow .3s ease;box-sizing:border-box}.grid-image-wrapper--sized{width:100%;background-color:transparent}.grid-image-wrapper--sized .grid-image-photo,.metro-card-image-aspect .grid-image-photo,.gallery-card-image-aspect .grid-image-photo{position:relative;z-index:1;width:100%;height:auto;object-fit:contain;vertical-align:top;transition:opacity .3s ease,transform .5s cubic-bezier(.4,0,.2,1)}.gallery-card-image,.gallery-card-image-aspect{width:100%;display:flex;align-items:center;justify-content:center}.gallery-card-image .grid-image-photo{width:100%;height:auto;display:block}.grid-print-item:hover .grid-image-wrapper{transform:translateY(-5px);box-shadow:0 4px 16px #2a3a521f}.grid-print-item:hover .gallery-card-image-aspect .grid-image-photo.progressive-image--loaded{opacity:.85;transform:scale(1.02)}.grid-caption{position:absolute;bottom:0;left:0;right:0;z-index:2;background:#000000a6;color:#fff;padding:25px 20px;font-size:16px;font-weight:400;text-align:center;transform:translateY(100%);transition:transform .3s ease}@media (max-width: 768px){.grid-caption{position:static;background:transparent;color:var(--navy);padding:12px 0 0;font-size:14px;transform:none}.grid-caption-after{color:var(--terracotta)}.grid-image-wrapper:hover .grid-image-photo.progressive-image--loaded{opacity:1}}.grid-image-wrapper:hover .grid-caption{transform:translateY(0)}.grid-print-item img:not(.grid-image-photo){width:100%;height:auto;display:block;box-shadow:0 2px 12px #00000014;border:1px solid rgba(72,78,93,.06);transition:all .3s ease}.grid-print-item img:not(.grid-image-photo):hover{box-shadow:0 4px 20px #0000001f;transform:translateY(-2px)}.back-to-top-container{max-width:1400px;margin:40px auto 0}.back-to-top-btn{background:transparent;border:none;color:var(--terracotta);padding:12px 24px;font-size:.95rem;cursor:pointer;transition:all .3s;font-weight:500}.back-to-top-btn:hover{opacity:.7;transform:translateY(-2px)}.lightbox-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;z-index:1000;display:flex;align-items:center;justify-content:center;padding:40px}.lightbox-content{max-width:90vw;max-height:90vh;display:flex;align-items:center;justify-content:center}.lightbox-content img{max-width:100%;max-height:90vh;object-fit:contain;display:block}.lightbox-close{position:absolute;top:20px;right:30px;background:none;border:none;color:#fff;font-size:50px;cursor:pointer;line-height:1;padding:0;width:50px;height:50px;display:flex;align-items:center;justify-content:center;transition:opacity .3s;z-index:1001}.lightbox-close:hover{opacity:.7}.lightbox-prev,.lightbox-next{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff1a;border:none;color:#fff;font-size:60px;cursor:pointer;padding:20px;line-height:1;transition:all .3s;z-index:1001}.lightbox-prev:hover,.lightbox-next:hover{background:#fff3}.lightbox-prev{left:20px}.lightbox-next{right:20px}.lightbox-counter{position:absolute;bottom:20px;left:50%;transform:translate(-50%);color:#fff;font-size:16px;background:#00000080;padding:8px 16px;border-radius:20px}.lightbox-loading-spinner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:50px;height:50px;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;z-index:10;pointer-events:none}.lightbox-image-wrapper{position:relative;display:inline-block}.lightbox-caption{position:absolute;bottom:0;left:0;right:0;background:#000000a6;color:#fff;padding:40px 20px;font-size:18px;font-weight:400;text-align:center;opacity:0;transition:opacity .3s ease;pointer-events:none}.lightbox-caption a{color:var(--terracotta);text-decoration:underline;pointer-events:auto;cursor:pointer}.lightbox-caption a:hover{opacity:.8}.lightbox-image-wrapper:hover .lightbox-caption{opacity:1}.grid-caption-title,.lightbox-caption-title{display:block}.grid-caption-after,.lightbox-caption-after{display:block;font-family:var(--font-sans);font-size:.72rem;letter-spacing:1.2px;text-transform:uppercase;color:#ffffffc7;margin-top:6px}.metro-map-page{width:100%;min-height:100vh;background:var(--beige);color:var(--navy)}.metro-map-container{width:100%;min-height:100vh;display:flex;flex-direction:column}.metro-map-header{position:relative;flex-shrink:0;padding:1rem;text-align:center;background:var(--white);border-bottom:1px solid rgba(72,78,93,.1);box-shadow:0 2px 8px #0000000a}.metro-map-header h1{font-size:1.5rem;color:var(--navy)}.metro-map-header p{margin-top:.5rem;color:var(--navy);font-size:1rem;opacity:.65}.metro-map-back-button{position:absolute;left:1.5rem;top:50%;z-index:2;display:inline-flex;align-items:center;gap:.5rem;min-width:44px;min-height:44px;margin:-.875rem -1.25rem;padding:.875rem 1.25rem;color:#484e5d;font-size:13px;opacity:.7;transform:translateY(-50%);transition:color .3s ease,opacity .3s ease,transform .3s ease}.metro-map-back-button:before{content:"←";font-size:1.2rem}.metro-map-back-button:hover{color:var(--terracotta);opacity:1;transform:translateY(-50%) translate(-4px)}.metro-map-about-toggle{margin-top:.5rem;padding:0;background:none;color:var(--terracotta);font-size:.95rem;font-weight:500;text-align:left;transition:opacity .2s}.metro-map-about-toggle:hover{opacity:.7}.metro-map-about-section{max-height:0;overflow:hidden;background:var(--beige);transition:max-height .3s ease,padding .3s ease,border-bottom .3s ease}.metro-map-about-section.show{max-height:500px;padding:1.5rem 2rem;border-bottom:1px solid rgba(72,78,93,.1)}.metro-map-about-content{max-width:800px;margin:0 auto}.metro-map-about-content p{margin-bottom:1rem;color:var(--navy);font-size:1.05rem;line-height:1.7;opacity:.85}.metro-map-about-content p:last-child{margin-bottom:0}.metro-map-about-date{font-size:.85rem!important;opacity:.5!important}.metro-map-wrapper{position:relative;flex:1;min-height:600px;background:var(--beige);overflow:hidden}.metro-map-content{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:600px;transition:opacity .4s}.metro-map-content.faded{opacity:0}.metro-map-content svg{display:block;width:auto;height:auto;max-width:100%;max-height:100%}.metro-map-content svg#svg1942{width:auto!important;height:auto!important;max-width:100%;max-height:100%}@media (max-width: 768px){.metro-map-wrapper{overflow:auto;-webkit-overflow-scrolling:touch}.metro-map-content{align-items:flex-start;justify-content:flex-start}.metro-map-content svg,.metro-map-content svg#svg1942{max-width:none!important;max-height:none!important;width:200%!important;height:auto!important;flex-shrink:0}}.metro-map-page #Silver-Line,.metro-map-page #SV-Line{display:none!important}.metro-map-page #Red-Line,.metro-map-page #Orange-Line,.metro-map-page #Yellow-Line,.metro-map-page #Green-Line,.metro-map-page #Blue-Line{transition:opacity .3s}.metro-map-page .line-dimmed{opacity:.15!important}.metro-map-page #Stations circle:not(.has-artwork){fill:#bbb!important;opacity:.25!important;stroke:none!important;cursor:default!important;pointer-events:none!important}.metro-map-page #Stations g:not(:has(circle.has-artwork)) path{display:none!important}.metro-map-page #Stations circle.has-artwork{fill:#fff!important;opacity:1!important;stroke:#231f20!important;stroke-width:10!important;cursor:pointer!important;pointer-events:all!important;transition:all .2s ease!important;transform-box:fill-box!important;transform-origin:center!important}.metro-map-page #Stations g:has(circle.has-artwork) path{display:block!important}.metro-map-page #Stations circle.has-artwork:hover{stroke:#ef4135!important;stroke-width:11!important;transform:scale(1.08)!important}.station-artwork-count circle{fill:#cc493b;stroke:#fff;stroke-width:4;filter:drop-shadow(0 3px 5px rgba(0,0,0,.28))}.station-artwork-count text{fill:#fff;font-family:var(--font-sans);font-size:21px;font-weight:800;line-height:1;paint-order:stroke;stroke:#0003;stroke-width:1}.artwork-view{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;display:none;align-items:center;justify-content:center;background:#000}.artwork-view.visible{display:flex}.close-btn{position:absolute;top:1.5rem;left:1.5rem;z-index:610;display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:#00000080;color:#fff;font-size:1.5rem;line-height:1;opacity:.7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .2s}.close-btn:hover{background:#000c;border-color:#ffffff80;opacity:1;transform:scale(1.05)}.station-indicator{position:absolute;top:1.5rem;right:1.5rem;z-index:610;display:flex;align-items:center;gap:.5rem;padding:.5rem .9rem;border:1px solid rgba(255,255,255,.2);border-radius:40px;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.line-badge{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;color:#fff;font-size:.75rem;font-weight:700;transition:opacity .2s,transform .2s}.line-badge:hover{opacity:1!important;transform:scale(1.1)}.line-red{background:#ef4135;color:#fff}.line-orange{background:#f78e1e;color:#fff}.line-yellow{background:#fd0;color:#000}.line-green{background:#00a94f;color:#fff}.line-blue{background:#0079c1;color:#fff}.station-indicator-name{color:#fff;font-size:.95rem;font-weight:600;transition:opacity .3s cubic-bezier(.4,0,.2,1)}.carousel-container{position:relative;display:flex;align-items:center;justify-content:center;width:100vw;height:100vh}.carousel-main{position:relative;overflow:hidden}.img-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;background-position:center;background-repeat:no-repeat;background-size:contain;filter:blur(18px);opacity:0;pointer-events:none;transform:scale(1.08);transition:opacity .4s ease}.img-placeholder.visible{opacity:1;transition:none}.img-spinner{position:absolute;top:50%;left:50%;z-index:3;width:44px;height:44px;margin:-22px 0 0 -22px;border:3px solid rgba(255,255,255,.18);border-top-color:#ffffffd9;border-radius:50%;opacity:0;pointer-events:none;animation:metroMapSpin .8s linear infinite;transition:opacity .2s ease}.img-spinner.visible{opacity:1;transition:none}@keyframes metroMapSpin{to{transform:rotate(360deg)}}.carousel-main img{position:relative;z-index:1;max-width:95vw;max-height:95vh;object-fit:contain;opacity:0;transition:opacity .5s cubic-bezier(.4,0,.2,1)}.carousel-main img.loaded{opacity:1}.carousel-credit{position:absolute;bottom:5rem;left:50%;z-index:605;padding:6px 14px;border-radius:999px;background:#00000073;color:#ffffffd9;font-family:var(--font-sans);font-size:.7rem;letter-spacing:1.4px;text-transform:uppercase;pointer-events:none;transform:translate(-50%);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.carousel-nav{position:absolute;bottom:2rem;left:50%;z-index:610;display:flex;align-items:center;gap:.6rem;padding:.5rem .75rem;border:1px solid rgba(255,255,255,.15);border-radius:20px;background:#0006;transform:translate(-50%);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.carousel-nav-btn{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:#ffffff26;color:#fff;font-size:1.2rem;line-height:1;transition:all .2s}.carousel-nav-btn:hover{background:#ffffff40;border-color:#fff6;transform:scale(1.05)}.carousel-dots{display:flex;align-items:center;gap:.4rem}.carousel-dot{width:8px;height:8px;padding:0;border-radius:50%;background:#ffffff4d;transition:all .2s}.carousel-dot.active{background:#fff;transform:scale(1.4)}.tap-zone{position:absolute;top:0;bottom:0;z-index:550;display:flex;align-items:center;width:30%;padding:0;background:transparent}.tap-zone.left{left:0;justify-content:flex-start;padding-left:1.5rem}.tap-zone.right{right:0;justify-content:flex-end;padding-right:1.5rem}.tap-zone-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:#0000004d;color:#fff;font-size:2rem;line-height:1;opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);transition:all .2s}@media (hover: hover){.tap-zone:hover .tap-zone-icon{background:#00000080;border-color:#fff6;opacity:1}}.tap-zone.tapped .tap-zone-icon{opacity:1;animation:tapFeedback .3s ease-out}@keyframes tapFeedback{0%{opacity:0;transform:scale(.8)}50%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.1)}}.line-diagram{position:absolute;top:4.5rem;right:1rem;z-index:560;display:flex;flex-direction:column;align-items:stretch;gap:.35rem;max-width:220px;max-height:85vh;padding:.8rem 1rem;overflow-y:auto;border:1px solid rgba(255,255,255,.15);border-radius:16px;background:#000c;box-shadow:0 8px 32px #0006;scroll-behavior:smooth;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transition:transform .3s ease,opacity .3s ease}.line-diagram-row{display:flex;flex-direction:column;align-items:stretch}.line-diagram-station{display:flex;align-items:center;width:100%;gap:.6rem;padding:.35rem .5rem;border-radius:8px;background:transparent;text-align:left;transition:background .2s ease}.line-diagram-station:not(:disabled):hover{background:#ffffff1a}.line-diagram-station:disabled{cursor:default}.line-diagram-dot{position:relative;flex-shrink:0;width:16px;height:16px;border:3px solid;border-radius:50%;background:#fff;transition:all .2s ease}.line-diagram-station.has-artwork .line-diagram-dot{width:20px;height:20px;border-width:4px}.line-diagram-station.current .line-diagram-dot{width:24px;height:24px;border-width:5px;box-shadow:0 0 12px currentColor}.line-diagram-station.no-artwork .line-diagram-dot{background:transparent;border-width:2px;opacity:.3}.line-diagram-label{flex:1;min-width:0;color:#fff;font-size:.7rem;font-weight:500;line-height:1.15;opacity:.45;overflow-wrap:break-word}.line-diagram-station.current .line-diagram-label{opacity:1;font-weight:700}.line-diagram-connector{flex-shrink:0;width:3px;height:.5rem;margin:0 auto;background:currentColor;opacity:.5}.line-diagram-connector.traveling-down,.line-diagram-connector.traveling-up{animation:trainPulse .45s cubic-bezier(.4,0,.2,1)}@keyframes trainPulse{0%{opacity:.3;filter:brightness(1)}40%{opacity:1;filter:brightness(1.6) drop-shadow(0 0 8px currentColor)}to{opacity:.5;filter:brightness(1)}}.line-diagram-close-btn{display:none}@media (min-width: 769px){.metro-map-wrapper{height:85vh;flex:none}}@media (max-width: 768px){.metro-map-page--station-open{overflow:hidden}.metro-map-header{padding:.75rem 1rem}.metro-map-header h1{font-size:1.25rem}.metro-map-header p{font-size:.85rem}.metro-map-back-button{position:static;justify-content:center;margin:0 auto .35rem;padding:.875rem 1.5rem;transform:none}.metro-map-back-button:hover{transform:translate(-4px)}.metro-map-about-section{position:fixed;right:0;bottom:0;left:0;z-index:700;overflow-y:auto;border-top:1px solid rgba(72,78,93,.1);background:var(--beige);box-shadow:0 -4px 12px #0000001a;transition:max-height .4s ease-in-out,padding .4s ease-in-out}.metro-map-about-section.show{max-height:60vh;padding:1.5rem 1.5rem 2rem;border-bottom:none}.metro-map-wrapper,.metro-map-content{min-height:calc(100vh - 9rem)}.metro-map-wrapper{padding:.5rem}.station-indicator{top:1rem;right:1rem;cursor:pointer}.station-indicator-name{max-width:180px;overflow:hidden;font-size:.8rem;text-overflow:ellipsis;white-space:nowrap}.close-btn{top:1rem;left:1rem;width:40px;height:40px}.tap-zone,.carousel-nav-btn{display:none!important}.carousel-nav{bottom:1.5rem}.line-diagram{top:5.5rem!important;right:.25rem!important;width:52%;max-width:52%!important;max-height:calc(100vh - 6.5rem)!important;padding:.75rem .5rem 1.25rem .7rem!important;gap:.45rem}.line-diagram.hidden{opacity:0;pointer-events:none;transform:translateY(-100%)}.line-diagram-close-btn{position:absolute;top:.85rem;right:.85rem;z-index:570;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1.5px solid rgba(255,255,255,.3);border-radius:50%;background:#ffffff2e;color:#fff;font-size:1.4rem;font-weight:200;line-height:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.line-diagram-station{gap:.7rem;padding:.65rem .6rem}.line-diagram-label{overflow:hidden;font-size:.95rem;text-overflow:ellipsis;white-space:nowrap}.line-diagram-dot{width:18px!important;height:18px!important;border-width:3px!important}.line-diagram-station.has-artwork .line-diagram-dot{width:20px!important;height:20px!important;border-width:3.5px!important}.line-diagram-station.current .line-diagram-dot{width:22px!important;height:22px!important;border-width:4px!important}}@media (max-width: 480px){.metro-map-header h1{font-size:1.15rem}.line-diagram{width:58%;max-width:58%!important}}.purchase-actions{width:min(420px,90vw);margin-top:1rem;display:flex;flex-direction:column;gap:.75rem}.purchase-price{color:#fff;font-family:var(--font-serif);font-size:1.5rem;text-align:center}.purchase-error{color:#fecaca;background:#7f1d1dcc;border:1px solid #dc2626;border-radius:4px;padding:.5rem .75rem;text-align:center}.purchase-primary-btn,.purchase-secondary-btn{border:none;border-radius:4px;padding:.85rem 1rem;font-size:.95rem;cursor:pointer;transition:opacity .2s ease}.purchase-primary-btn{background:#fff;color:#111827;font-weight:600}.purchase-secondary-btn{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.8)}.purchase-primary-btn:hover:not(:disabled),.purchase-secondary-btn:hover:not(:disabled){opacity:.85}.purchase-primary-btn:disabled,.purchase-secondary-btn:disabled{opacity:.6;cursor:not-allowed}.purchase-added{margin:0;color:#bbf7d0;font-size:.88rem;text-align:center}.purchase-added a,.purchase-added-link{color:inherit;background:none;border:none;padding:0;font:inherit;text-decoration:underline;cursor:pointer}.category-page{max-width:1400px;margin:0 auto;padding:80px 80px 120px;background-color:var(--beige)}.category-header{margin-bottom:60px}.back-link{color:#484e5d;text-decoration:none;font-size:13px;display:inline-block;margin-bottom:20px;opacity:.7;transition:all .3s}.back-link:hover{opacity:1;color:var(--terracotta);transform:translate(-4px)}.category-title{font-size:2.5rem;color:#484e5d;font-weight:400;letter-spacing:.5px;margin-bottom:15px;font-family:Lora,serif;text-align:left}.category-description{font-size:1rem;color:#666;line-height:1.6;margin-top:10px}.two-column-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:80px;margin-bottom:80px}.grid-print-item{cursor:pointer}.grid-image-wrapper{position:relative;width:100%;overflow:hidden}.grid-image-wrapper img{width:100%;height:auto;display:block;transition:opacity .3s ease}.grid-image-wrapper:hover img{opacity:.85}.grid-caption{position:absolute;bottom:0;left:0;right:0;background:#000000b3;color:#fff;padding:12px 15px;font-size:.9rem;opacity:0;transition:opacity .3s ease}.grid-image-wrapper:hover .grid-caption{opacity:1}.lightbox-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000f2;z-index:1000;display:flex;align-items:center;justify-content:center;cursor:pointer}.lightbox-content{max-width:90vw;max-height:90vh;cursor:default;display:flex;align-items:center;justify-content:center}.lightbox-image-wrapper{position:relative;display:flex;flex-direction:column;align-items:center}.lightbox-image-wrapper img{max-width:90vw;max-height:85vh;width:auto;height:auto;object-fit:contain}.lightbox-caption{color:#fff;margin-top:20px;font-size:1.1rem;text-align:center}.lightbox-close,.lightbox-prev,.lightbox-next{position:fixed;background:#ffffff1a;border:1px solid rgba(255,255,255,.3);color:#fff;cursor:pointer;font-size:2rem;width:50px;height:50px;display:flex;align-items:center;justify-content:center;transition:all .3s;border-radius:50%}.lightbox-close:hover,.lightbox-prev:hover,.lightbox-next:hover{background:#fff3;transform:scale(1.05)}.lightbox-close{top:30px;right:30px}.lightbox-prev{left:30px;top:50%;transform:translateY(-50%)}.lightbox-next{right:30px;top:50%;transform:translateY(-50%)}.lightbox-counter{position:fixed;bottom:30px;left:50%;transform:translate(-50%);color:#fff;font-size:.9rem;background:#00000080;padding:8px 16px;border-radius:20px}.lightbox-loading-spinner{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:50px;height:50px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}.back-to-top-container{text-align:center;margin-top:60px}.back-to-top-btn{background:transparent;border:1px solid #D0C9B8;color:#484e5d;padding:12px 24px;font-size:.9rem;cursor:pointer;transition:all .3s;border-radius:4px}.back-to-top-btn:hover{background:#f5f2ea;color:var(--terracotta);border-color:var(--terracotta)}@media (max-width: 1024px){.category-page{padding:60px 40px 100px}.two-column-grid{gap:50px}}@media (max-width: 768px){.category-page{padding:50px 20px 80px}.two-column-grid{grid-template-columns:1fr;gap:40px}.category-title{font-size:2rem}.lightbox-prev,.lightbox-next{width:40px;height:40px;font-size:1.5rem}.lightbox-prev{left:15px}.lightbox-next{right:15px}.lightbox-close{top:15px;right:15px;width:40px;height:40px;font-size:1.5rem}}.prints-page{max-width:1400px;margin:0 auto;padding:80px 80px 120px;background-color:var(--beige)}.prints-header{margin-bottom:60px}.prints-header .back-link{color:#484e5d;font-size:13px;display:inline-block;margin-bottom:20px;opacity:.7;transition:all .3s}.prints-header .back-link:hover{opacity:1;color:var(--terracotta);transform:translate(-4px)}.prints-title{font-family:Lora,serif;font-size:2.5rem;color:#484e5d;font-weight:400;letter-spacing:.5px;margin-bottom:15px;text-align:left}.prints-description{font-size:1rem;color:#666;line-height:1.6;margin-top:10px;max-width:640px}.prints-status{padding:40px 0;color:#666;font-size:.95rem}.prints-coming-soon{padding:80px 40px 100px;text-align:center;max-width:640px;margin:0 auto}.prints-coming-soon h2{font-family:Lora,serif;font-size:2.25rem;color:#2a3a52;font-weight:500;margin-bottom:18px;letter-spacing:.3px}.prints-coming-soon p{font-family:var(--font-sans);font-size:1.05rem;color:#666;line-height:1.6}.prints-error{padding:16px 20px;background:#fff1ef;border:1px solid var(--terracotta);color:var(--terracotta);border-radius:8px;margin-bottom:24px}.prints-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:60px}.print-card{display:flex;flex-direction:column;color:inherit;text-decoration:none;cursor:pointer}.print-card-image{position:relative;background-color:#ede8dd;padding:48px;display:flex;align-items:center;justify-content:center;aspect-ratio:1 / 1.1;overflow:hidden}.print-card-image img{max-width:100%;max-height:100%;object-fit:contain;transition:transform .5s cubic-bezier(.4,0,.2,1)}.print-card:hover .print-card-image img{transform:scale(1.02)}.print-badge{position:absolute;bottom:0;right:0;background:#fff;color:#484e5d;padding:14px 28px;font-family:var(--font-sans);font-size:.95rem;font-weight:500;letter-spacing:.3px;box-shadow:0 2px 12px #00000014}.print-card-body{padding-top:18px}.print-card-title{font-family:Lora,serif;font-size:1.15rem;color:#2a3a52;font-weight:600;margin-bottom:6px;letter-spacing:.2px}.print-card-price{font-family:var(--font-sans);font-size:1rem;color:#484e5d;margin-bottom:14px}.print-buy-btn{background:#2a3a52;color:#fff;padding:11px 22px;font-family:var(--font-sans);font-size:.9rem;font-weight:500;letter-spacing:.5px;border-radius:2px;transition:background .25s ease,transform .25s ease}.print-buy-btn:hover:not(:disabled){background:var(--terracotta);transform:translateY(-1px)}.print-buy-btn:disabled{opacity:.6;cursor:wait}@media (max-width: 1100px){.prints-page{padding:50px 40px 100px}.prints-grid{gap:44px}.print-card-image{padding:36px}}@media (max-width: 900px){.prints-page{padding:44px 32px 90px}.prints-header{margin-bottom:36px}.prints-grid{grid-template-columns:repeat(2,1fr);gap:32px}.print-card-image{padding:28px}}@media (max-width: 600px){.prints-page{padding:32px 18px 80px}.prints-title{font-size:1.85rem}.prints-grid{grid-template-columns:1fr;gap:32px}.print-card-image{padding:24px;aspect-ratio:1 / 1}.print-card-body{padding-top:14px}.print-card-title{font-size:1.05rem}}.fd-page{max-width:1500px;margin:0 auto;padding:20px 60px 120px;background-color:var(--beige)}.fd-header{margin-bottom:14px}.fd-status{padding:80px 0;text-align:center;color:#666;font-size:1rem}.fd-layout{display:grid;grid-template-columns:1fr 320px;gap:50px;align-items:start}.fd-pairs{display:flex;flex-direction:column;gap:18px}.fd-pair-headers{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:-4px}.fd-pair-row{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.fd-pane-label{font-family:var(--font-sans);font-size:.72rem;letter-spacing:1.2px;text-transform:uppercase;color:#888}.fd-image-frame{background-color:#ede8dd;padding:28px;display:flex;align-items:center;justify-content:center;aspect-ratio:1 / 1.15;overflow:hidden}.fd-image-frame img{max-width:100%;max-height:100%;object-fit:contain}.fd-image-placeholder{color:#b9b4a5;font-family:Lora,serif;font-size:.95rem;text-align:center;padding:0 20px}.fd-pane-credit{font-family:var(--font-sans);font-size:.85rem;color:#666;letter-spacing:.2px}.fd-pane-credit a{color:var(--terracotta);font-weight:500}.fd-pane-credit a:hover{text-decoration:underline}.fd-sale-pane{position:sticky;top:90px}.fd-sale-card{background:#fff;border:1px solid #ece8df;border-radius:8px;padding:28px 26px;display:flex;flex-direction:column;gap:14px}.fd-sale-artist-row{font-family:var(--font-sans);font-size:.72rem;letter-spacing:1.2px;text-transform:uppercase;color:#888;display:flex;align-items:center;justify-content:space-between;gap:12px}.fd-sale-artist-name{color:var(--terracotta);font-weight:500}.fd-sale-piece-title{font-family:Lora,serif;font-size:1.5rem;font-weight:500;color:#2a3a52;letter-spacing:.3px;margin:-2px 0 0}.fd-sale-bio{font-family:var(--font-sans);font-size:.92rem;color:#666;line-height:1.55;margin:0}.fd-sale-divider{height:1px;background:#ece8df;margin:4px 0}.fd-sale-price{font-family:Lora,serif;font-size:1.6rem;color:#2a3a52;font-weight:500;letter-spacing:.3px;margin-top:-4px}.fd-sale-error{padding:10px 12px;background:#fff1ef;border:1px solid #e7c5c0;color:#b0463a;border-radius:6px;font-size:.85rem;font-family:var(--font-sans)}.fd-sold-out{background:#fff;color:#484e5d;padding:14px 22px;border:1px solid #d8d5cc;text-align:center;font-family:var(--font-sans);font-size:.95rem;font-weight:500;letter-spacing:.4px;border-radius:2px}.fd-buy-btn{background:#e8e4dc;color:#2a3a52;padding:14px 22px;font-family:var(--font-sans);font-size:.95rem;font-weight:500;letter-spacing:.5px;border-radius:2px;transition:background .25s ease,transform .25s ease}.fd-buy-btn:hover:not(:disabled){background:#d4cfc5;transform:translateY(-1px)}.fd-buy-btn:disabled{opacity:.6;cursor:wait}.fd-buy-btn--primary{background:#3a7d5a;color:#fff}.fd-buy-btn--primary:hover:not(:disabled){background:#2c5f44;transform:translateY(-1px)}.fd-purchase-actions{display:flex;flex-direction:column;gap:.75rem}.fd-buy-btn--secondary{background:transparent;color:#2a3a52;border:1px solid #c8c3b8}.fd-buy-btn--secondary:hover:not(:disabled){background:#f3f0ea;transform:translateY(-1px)}.fd-cart-added{margin:0;font-size:.88rem;color:#3a7d5a}.fd-cart-added a,.fd-cart-added-link{color:inherit;background:none;border:none;padding:0;font:inherit;text-decoration:underline;cursor:pointer}.fd-buy-btn--coming-soon{background:#e8e5de;color:#999;cursor:default;letter-spacing:1px;font-size:.82rem}.fd-buy-btn--coming-soon:hover:not(:disabled){background:#e8e5de;color:#999;transform:none}.fd-sale-note{font-family:var(--font-sans);font-size:.78rem;color:#888;line-height:1.55;margin:4px 0 0}.fd-details{margin-top:4px;padding-top:18px;border-top:1px solid #ece8df}.fd-details-heading{font-family:var(--font-sans);font-size:.72rem;letter-spacing:1.2px;text-transform:uppercase;color:#888;margin:0 0 10px;font-weight:500}.fd-details-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.fd-details-list li{font-family:var(--font-sans);font-size:.88rem;color:#484e5d;line-height:1.5;position:relative;padding-left:14px}.fd-details-list li:before{content:"";position:absolute;left:0;top:.55em;width:5px;height:5px;border-radius:50%;background:var(--terracotta);opacity:.6}.fd-impact{margin-top:8px;padding-top:18px;border-top:1px solid #ece8df;display:flex;flex-direction:column;gap:10px}.fd-impact-headline{font-family:Lora,serif;font-size:.95rem;font-weight:500;color:var(--terracotta);letter-spacing:.3px}.fd-impact-body{font-family:var(--font-sans);font-size:.82rem;color:#666;line-height:1.6;margin:0}.fd-impact-tally{display:flex;align-items:baseline;gap:8px;padding:10px 12px;background:#fbfaf5;border:1px solid #ece8df;border-radius:4px;margin-top:4px}.fd-impact-tally-amount{font-family:Lora,serif;font-size:1.05rem;font-weight:500;color:#2a3a52}.fd-impact-tally-meta{font-family:var(--font-sans);font-size:.78rem;color:#888}.fd-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1418238c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:32px;animation:fdFadeIn .2s ease}@keyframes fdFadeIn{0%{opacity:0}to{opacity:1}}.fd-modal{background:#fff;border-radius:10px;max-width:460px;width:100%;position:relative;box-shadow:0 24px 60px #0000002e;animation:fdSlideIn .25s cubic-bezier(.4,0,.2,1)}@keyframes fdSlideIn{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}.fd-modal-close{position:absolute;top:12px;right:14px;background:transparent;border:none;color:#888;font-size:1.5rem;line-height:1;cursor:pointer;transition:color .2s ease}.fd-modal-close:hover{color:var(--terracotta)}.fd-modal-body{padding:32px 32px 28px;display:flex;flex-direction:column;gap:14px}.fd-modal-body h3{font-family:Lora,serif;font-size:1.5rem;color:#2a3a52;font-weight:500;letter-spacing:.3px;margin:0}.fd-modal-sub{font-family:var(--font-sans);font-size:.9rem;color:#666;line-height:1.55;margin:0 0 6px}.fd-modal-body label{display:flex;flex-direction:column;gap:5px;font-family:var(--font-sans);font-size:.78rem;color:#888;letter-spacing:.2px}.fd-modal-body input,.fd-modal-body textarea{padding:10px 12px;border:1px solid #d8d5cc;border-radius:4px;font-size:16px;font-family:var(--font-sans);color:#2a3a52;background:#fff;transition:border-color .2s ease}.fd-modal-body input:focus,.fd-modal-body textarea:focus{outline:none;border-color:var(--terracotta)}.fd-modal-body textarea{resize:vertical;min-height:70px;line-height:1.5}.fd-modal-error{padding:10px 12px;background:#fff1ef;border:1px solid #e7c5c0;color:#b0463a;border-radius:6px;font-size:.85rem;font-family:var(--font-sans)}.fd-modal-fineprint{font-family:var(--font-sans);font-size:.74rem;color:#888;text-align:center;margin:4px 0 0}.fd-modal-success p{font-family:var(--font-sans);font-size:.95rem;color:#484e5d;line-height:1.6;margin:0}.fd-modal-meta{font-size:.85rem!important;color:var(--terracotta)!important}@media (max-width: 1100px){.fd-layout{grid-template-columns:1fr;gap:40px}.fd-sale-pane{position:static}.fd-sale-card{max-width:520px}.fd-pair-headers,.fd-pair-row{grid-template-columns:1fr}.fd-pair-headers{display:none}}@media (max-width: 760px){.fd-page{padding:8px 16px 60px}.fd-header{margin-bottom:8px}.fd-layout{grid-template-columns:1fr;gap:24px}.fd-pair-headers,.fd-pair-row{grid-template-columns:1fr;gap:14px}.fd-pair-headers{display:none}.fd-sale-card{max-width:none}}.pd-layout{grid-template-columns:minmax(0,1fr) 320px}.pd-image-frame{aspect-ratio:1 / 1.15}.pd-piece-title{margin-top:0}.pd-tally{margin-top:6px}@media (max-width: 1100px){.pd-layout{grid-template-columns:1fr;gap:24px}.pd-image-frame{aspect-ratio:1 / 1;max-height:75vh;padding:28px}}@media (max-width: 900px){.pd-page{padding:12px 24px 60px}}@media (max-width: 600px){.pd-image-frame{aspect-ratio:auto;min-height:70vh;max-height:80vh;padding:18px}.pd-layout{gap:18px}}.featured-page{max-width:1400px;margin:0 auto;padding:80px 80px 120px;background-color:var(--beige)}.featured-header{margin-bottom:60px}.featured-header .back-link{color:#484e5d;font-size:13px;display:inline-block;margin-bottom:20px;opacity:.7;transition:all .3s}.featured-header .back-link:hover{opacity:1;color:var(--terracotta);transform:translate(-4px)}.featured-title{font-family:Lora,serif;font-size:2.5rem;color:#484e5d;font-weight:400;letter-spacing:.5px;margin-bottom:15px;text-align:left}.about-toggle{background:transparent;border:none;color:var(--terracotta);font-family:var(--font-sans);font-size:.9rem;font-weight:500;letter-spacing:.3px;padding:4px 0;margin-top:8px;cursor:pointer;transition:opacity .2s ease}.about-toggle:hover{opacity:.75}.featured-description{font-family:Lora,serif;font-size:1.05rem;color:#484e5d;line-height:1.75;margin-top:18px;max-width:720px}.featured-description p{margin-bottom:1.1em}.featured-description p:last-child{margin-bottom:0}.featured-description a{color:var(--terracotta);font-weight:500;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s ease}.featured-description a:hover{border-bottom-color:var(--terracotta)}.featured-status{padding:40px 0;color:#666;font-size:.95rem}.featured-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:60px}.featured-card{display:flex;flex-direction:column;color:inherit;text-decoration:none;cursor:pointer}.featured-card-image{position:relative;background-color:#ede8dd;padding:36px;display:flex;align-items:center;justify-content:center;aspect-ratio:1 / 1.1;overflow:hidden}.featured-card-image img{max-width:100%;max-height:100%;object-fit:contain;transition:transform .5s cubic-bezier(.4,0,.2,1)}.featured-card:hover .featured-card-image img{transform:scale(1.02)}.featured-card-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-family:Lora,serif;font-size:3.5rem;color:#b9b4a5}.featured-card-body{padding-top:22px}.featured-card-name{font-family:Lora,serif;font-size:1.2rem;color:#2a3a52;font-weight:600;margin-bottom:4px;letter-spacing:.2px}.featured-card-artist{font-family:var(--font-sans);font-size:.78rem;color:var(--terracotta);letter-spacing:.4px;text-transform:uppercase;margin-bottom:10px}.featured-card-bio{font-family:var(--font-sans);font-size:.95rem;color:#484e5d;line-height:1.6;margin-bottom:14px}.featured-card-price{font-family:var(--font-sans);font-size:1rem;color:#484e5d;margin-bottom:8px}.featured-card-badge{position:absolute;bottom:0;right:0;background:#fff;color:#484e5d;padding:10px 18px;font-family:var(--font-sans);font-size:.85rem;font-weight:500;letter-spacing:.3px;box-shadow:0 2px 12px #00000014}.featured-card-tally{font-family:var(--font-sans);font-size:.78rem;color:var(--terracotta);letter-spacing:.3px;margin-bottom:8px}.featured-card-link{display:inline-block;font-family:var(--font-sans);font-size:.85rem;color:var(--terracotta);font-weight:500;letter-spacing:.3px;transition:transform .2s ease}.featured-card-link:hover{transform:translate(3px)}.featured-card-cta{display:inline-block;font-family:var(--font-sans);font-size:.85rem;color:var(--terracotta);font-weight:500;letter-spacing:.3px;transition:transform .2s ease;margin-top:4px}.featured-card:hover .featured-card-cta{transform:translate(4px)}@media (max-width: 1024px){.featured-grid{grid-template-columns:repeat(2,1fr);gap:48px}}@media (max-width: 768px){.featured-page{padding:40px 20px 80px}.featured-title{font-size:2rem}.featured-grid{grid-template-columns:1fr;gap:40px}.featured-card-image{padding:24px}}.social-links{display:inline-flex;align-items:center;gap:10px}.social-link{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;color:#484e5d;background:transparent;transition:color .25s cubic-bezier(.4,0,.2,1),background-color .25s cubic-bezier(.4,0,.2,1),transform .25s cubic-bezier(.4,0,.2,1)}.social-link svg{width:18px;height:18px}.social-link:hover{color:var(--terracotta);background-color:#cc493b14;transform:translateY(-1px)}.wd-layout{grid-template-columns:1fr 280px}.wd-credit-card{gap:12px}.wd-credit-label{font-family:var(--font-sans);font-size:.72rem;letter-spacing:1.2px;text-transform:uppercase;color:#888}.wd-credit-link{font-family:var(--font-sans);font-size:.85rem;color:var(--terracotta);font-weight:500;letter-spacing:.2px;margin-top:2px}.wd-credit-link:hover{text-decoration:underline}@media (max-width: 1100px){.wd-layout{grid-template-columns:1fr}}.admin-shell{max-width:1200px;margin:0 auto;padding:40px 40px 120px;font-family:var(--font-sans);color:#2a3a52}.admin-shell h1{font-family:Lora,serif;font-size:2rem;font-weight:500;margin-bottom:4px}.admin-shell h2{font-family:Lora,serif;font-size:1.25rem;font-weight:500;margin-bottom:16px}.admin-shell h3{font-family:Lora,serif;font-size:1.05rem;font-weight:500}.admin-sub,.admin-status,.admin-gallery-card-meta,.admin-footer-note{color:#666;font-size:.92rem;line-height:1.5}.admin-topbar{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:40px;flex-wrap:wrap}.admin-topbar-actions{display:flex;align-items:center;gap:16px}.admin-backlink{font-size:.85rem;color:#666;display:inline-block;margin-bottom:6px;transition:color .2s ease}.admin-backlink:hover{color:var(--terracotta)}.admin-btn{padding:10px 20px;font-size:.9rem;font-family:var(--font-sans);font-weight:500;border-radius:4px;background:#eceae3;color:#2a3a52;border:1px solid #d8d5cc;transition:all .2s ease}.admin-btn:hover:not(:disabled){background:#e0ddd3}.admin-btn-primary{background:#2a3a52;color:#fff;border-color:#2a3a52}.admin-btn-primary:hover:not(:disabled){background:var(--terracotta);border-color:var(--terracotta)}.admin-btn-ghost{background:transparent;color:#666;border-color:transparent}.admin-btn-ghost:hover:not(:disabled){color:var(--terracotta)}.admin-btn-group{display:flex;gap:8px;flex-wrap:wrap}.admin-btn-danger{background:transparent;color:#b0463a;border-color:transparent;font-size:.8rem}.admin-btn-danger:hover:not(:disabled){background:#fff1ef;border-color:#e7c5c0}.admin-btn:disabled{opacity:.55;cursor:not-allowed}.admin-btn-mini{padding:6px 10px;font-size:.78rem;white-space:nowrap}.admin-input-with-action{display:flex;gap:6px;align-items:stretch}.admin-input-with-action input{flex:1;min-width:0}.admin-save-msg{font-size:.85rem;color:#2d6a4f}.admin-error{padding:12px 16px;background:#fff1ef;border:1px solid #e7c5c0;color:#b0463a;border-radius:6px;margin-bottom:20px;font-size:.9rem}.admin-status{padding:24px 0}.admin-section{background:#fff;border:1px solid #ece8df;border-radius:10px;padding:24px;margin-bottom:24px;box-shadow:0 1px 2px #00000008}.admin-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:16px}.admin-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.admin-form-row label{display:flex;flex-direction:column;font-size:.85rem;color:#666;gap:4px}.admin-form-row input[type=text],.admin-form-row input[type=number],.admin-item-fields input[type=text],.admin-item-fields input[type=number]{padding:9px 11px;border:1px solid #d8d5cc;border-radius:4px;font-size:.95rem;font-family:var(--font-sans);color:#2a3a52;background:#fff;transition:border-color .2s ease}.admin-form-row input:focus,.admin-item-fields input:focus{outline:none;border-color:var(--terracotta)}.admin-checkbox{flex-direction:row!important;align-items:center;gap:8px!important;font-size:.88rem!important;color:#484e5d!important}.admin-checkbox input{margin:0}.admin-gallery-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.admin-gallery-card{display:block;padding:20px 22px;background:#fff;border:1px solid #ece8df;border-radius:10px;transition:all .2s ease;color:inherit;text-decoration:none}.admin-gallery-card:hover{border-color:var(--terracotta);transform:translateY(-2px);box-shadow:0 4px 16px #cc493b14}.admin-gallery-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.admin-pill{font-size:.7rem;background:var(--terracotta);color:#fff;padding:2px 10px;border-radius:999px;letter-spacing:.4px;text-transform:uppercase}.admin-footer-note{margin-top:32px;color:#888;font-size:.82rem;font-style:italic}.admin-item-list{display:flex;flex-direction:column;gap:10px}.admin-item{display:grid;grid-template-columns:28px auto 1fr auto;gap:18px;align-items:center;padding:14px 16px;background:#fbfaf5;border:1px solid #ece8df;border-radius:8px;cursor:grab;transition:border-color .2s ease,background-color .2s ease,opacity .2s ease,box-shadow .2s ease;position:relative}.admin-item.drop-above:before,.admin-item.drop-below:after,.admin-station-row.drop-above:before,.admin-station-row.drop-below:after{content:"";position:absolute;left:8px;right:8px;height:3px;background:var(--terracotta);border-radius:999px;pointer-events:none;box-shadow:0 0 0 1px #cc493b2e}.admin-item.drop-above:before,.admin-station-row.drop-above:before{top:-7px}.admin-item.drop-below:after,.admin-station-row.drop-below:after{bottom:-7px}.admin-row-controls{display:flex;flex-direction:column;align-items:center;gap:2px;padding-top:2px;-webkit-user-select:none;user-select:none}.admin-row-arrow{background:transparent;border:none;color:#b9b4a5;cursor:pointer;padding:2px 4px;font-size:.6rem;line-height:1;border-radius:3px;transition:color .15s ease,background-color .15s ease}.admin-row-arrow:hover:not(:disabled){color:var(--terracotta);background:#cc493b14}.admin-row-arrow:disabled{opacity:.3;cursor:not-allowed}.admin-row-controls .admin-item-handle{font-size:.85rem;color:#b9b4a5}.admin-item:hover{border-color:#c7c2b3;background:#fff}.admin-item.dragging{opacity:.55;border-color:var(--terracotta)}.admin-item-handle{color:#b9b4a5;font-size:1rem;text-align:center;-webkit-user-select:none;user-select:none}.admin-item-thumbs{display:flex;flex-direction:column;gap:6px}.admin-item-thumb{width:84px;height:84px;background:#ede8dd;border-radius:6px;display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:pointer;border:1px solid #e0ddd3;transition:border-color .2s ease}.admin-item-thumb-ref{width:84px;height:56px;background:#f3eee2}.admin-item-thumb-ref .admin-item-thumb-empty{font-size:.7rem;letter-spacing:.5px;text-transform:uppercase}.admin-item-thumb:hover{border-color:var(--terracotta)}.admin-item-thumb img{max-width:100%;max-height:100%;object-fit:contain}.admin-item-fields{display:grid;grid-template-columns:2fr 1fr auto;gap:12px;align-items:end}.admin-item-fields-bios{grid-template-columns:1fr 1fr}.admin-item-field-wide{grid-column:1 / -1}.admin-item-fields textarea{padding:9px 11px;border:1px solid #d8d5cc;border-radius:4px;font-size:.92rem;font-family:var(--font-sans);color:#2a3a52;background:#fff;resize:vertical;min-height:70px;line-height:1.5}.admin-item-fields textarea:focus{outline:none;border-color:var(--terracotta)}.admin-item-thumb-empty{font-size:2rem;color:#b9b4a5;font-weight:300}.admin-station-row{display:grid;grid-template-columns:28px 1fr;gap:18px;align-items:start;padding:16px 18px;background:#fbfaf5;border:1px solid #ece8df;border-radius:8px;cursor:grab;transition:border-color .2s ease,background-color .2s ease,opacity .2s ease,box-shadow .2s ease;position:relative}.admin-station-row:hover{border-color:#c7c2b3;background:#fff}.admin-station-row.dragging{opacity:.55;border-color:var(--terracotta)}.admin-station-row>.admin-row-controls{padding-top:6px}.admin-station-body{display:flex;flex-direction:column;gap:12px}.admin-station-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-station-header h3{font-family:Lora,serif;font-size:1rem;color:#2a3a52;font-weight:500;margin:0;letter-spacing:.2px}.admin-station-artworks{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.admin-station-artwork{position:relative;width:70px;height:70px;background:#ede8dd;border:1px solid #e0ddd3;border-radius:6px;overflow:hidden;cursor:grab;transition:border-color .2s ease,opacity .2s ease,transform .2s ease}.admin-station-artwork:active{cursor:grabbing}.admin-station-artwork.dragging{opacity:.5;border-color:var(--terracotta);transform:scale(.96)}.admin-station-artwork img{width:100%;height:100%;object-fit:cover}.admin-station-remove{position:absolute;top:2px;right:2px;width:20px;height:20px;border-radius:50%;background:#141823b3;color:#fff;font-size:.95rem;line-height:1;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;opacity:0;transition:opacity .15s ease,background-color .15s ease}.admin-station-artwork:hover .admin-station-remove{opacity:1}.admin-station-remove:hover{background:var(--terracotta)}.admin-station-add{height:32px;padding:0 12px;font-size:.78rem;font-family:var(--font-sans);font-weight:500;letter-spacing:.2px;border-radius:4px;background:#fff;color:#2a3a52;border:1px solid #d8d5cc;cursor:pointer;transition:all .2s ease}.admin-station-add:hover:not(:disabled){border-color:var(--terracotta);color:var(--terracotta)}.admin-station-add:disabled{opacity:.55;cursor:not-allowed}.admin-station-add-upload{background:#2a3a52;color:#fff;border-color:#2a3a52}.admin-station-add-upload:hover:not(:disabled){background:var(--terracotta);border-color:var(--terracotta);color:#fff}.admin-item-fields label{display:flex;flex-direction:column;font-size:.78rem;color:#888;gap:3px}.admin-reservations-list{display:flex;flex-direction:column;gap:24px}.admin-reservation-block{padding:16px 18px;background:#fbfaf5;border:1px solid #ece8df;border-radius:8px}.admin-reservation-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:14px}.admin-reservation-title{font-family:Lora,serif;font-size:1.05rem;color:#2a3a52;font-weight:500;margin:0 0 4px}.admin-reservation-artist{color:var(--terracotta);font-weight:400;font-size:.92rem}.admin-reservation-meta{font-size:.82rem;color:#888;margin:0}.admin-reservation-empty{font-size:.85rem;color:#888;margin:0;font-style:italic}.admin-reservation-table{width:100%;border-collapse:collapse;font-size:.9rem}.admin-reservation-table th,.admin-reservation-table td{text-align:left;padding:8px 10px;border-bottom:1px solid #ece8df}.admin-reservation-table th{font-size:.72rem;letter-spacing:1.2px;text-transform:uppercase;color:#888;font-weight:500}.admin-reservation-table td{color:#2a3a52}.admin-reservation-table tr:last-child td{border-bottom:none}.admin-reservation-table a{color:var(--terracotta)}.admin-reservation-table a:hover{text-decoration:underline}.admin-orders-table td:nth-child(4){max-width:280px}.admin-order-status-select{min-width:118px;padding:6px 10px;border:1px solid #d8d5cc;border-radius:4px;font-family:var(--font-sans);font-size:.85rem;color:#2a3a52;background:#fff}.admin-order-status-select:disabled{opacity:.65;cursor:wait}.admin-order-status-pending{border-color:#d9c27a;background:#fff9e8}.admin-order-status-shipped{border-color:#8eb8d8;background:#eef6fc}.admin-order-status-delivered{border-color:#8fbf9a;background:#eef8f0}.admin-order-status-cancelled{border-color:#c9c4bc;background:#f4f3f0;color:#6b7280}.admin-orders-details-row td{background:#fbfaf5;border-bottom:1px solid #ece8df;padding-top:0}.admin-orders-details{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:8px 0 16px}.admin-orders-details h4{margin:0 0 8px;font-size:.85rem;color:#484e5d;text-transform:uppercase;letter-spacing:.4px}.admin-orders-details p{margin:0 0 6px;font-size:.9rem;color:#2a3a52}.admin-orders-details a{color:var(--terracotta)}@media (max-width: 768px){.admin-orders-details{grid-template-columns:1fr}}.admin-pages-fields{display:flex;flex-direction:column;gap:16px}.admin-pages-field{display:flex;flex-direction:column;gap:6px}.admin-pages-field-label{font-size:.78rem;color:#888;letter-spacing:.2px}.admin-pages-field input,.admin-pages-field textarea{padding:10px 12px;border:1px solid #d8d5cc;border-radius:4px;font-size:.95rem;font-family:var(--font-sans);color:#2a3a52;background:#fff;transition:border-color .2s ease}.admin-pages-field textarea{resize:vertical;min-height:90px;line-height:1.55;font-family:Lora,serif;font-size:1rem}.admin-pages-field input:focus,.admin-pages-field textarea:focus{outline:none;border-color:var(--terracotta)}.admin-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1418238c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:40px}.admin-modal{background:#fff;border-radius:12px;max-width:960px;width:100%;max-height:85vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #0003}.admin-modal-header{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border-bottom:1px solid #ece8df}.admin-modal-close{background:transparent;font-size:1.5rem;color:#888;padding:0 8px}.admin-modal-controls{display:flex;gap:12px;padding:14px 24px;border-bottom:1px solid #ece8df}.admin-modal-controls input,.admin-modal-controls select{padding:9px 11px;border:1px solid #d8d5cc;border-radius:4px;font-family:var(--font-sans);font-size:.9rem}.admin-modal-controls input{flex:1}.admin-image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;padding:20px 24px;overflow-y:auto}.admin-image-tile{display:flex;flex-direction:column;padding:6px;background:#fbfaf5;border:1px solid #ece8df;border-radius:6px;cursor:pointer;transition:all .2s ease}.admin-image-tile:hover{border-color:var(--terracotta);transform:translateY(-2px)}.admin-image-tile img{width:100%;height:110px;object-fit:contain;background:#ede8dd;border-radius:4px}.admin-image-tile span{font-size:.72rem;color:#666;margin-top:6px;word-break:break-all;text-align:left}.admin-login-shell{min-height:60vh;display:flex;align-items:center;justify-content:center}.admin-login-card{background:#fff;border:1px solid #ece8df;border-radius:10px;padding:32px 36px;width:100%;max-width:380px;box-shadow:0 4px 24px #0000000a;display:flex;flex-direction:column;gap:14px}.admin-login-card h1{margin-bottom:2px}.admin-login-sub{font-size:.88rem;color:#666;margin-bottom:6px}.admin-login-card input{padding:11px 13px;border:1px solid #d8d5cc;border-radius:4px;font-size:.95rem;font-family:var(--font-sans)}.admin-login-card input:focus{outline:none;border-color:var(--terracotta)}.admin-login-card button{padding:11px 20px;background:#2a3a52;color:#fff;border-radius:4px;font-size:.92rem;font-weight:500;transition:background .2s ease}.admin-login-card button:hover:not(:disabled){background:var(--terracotta)}.admin-login-card button:disabled{opacity:.6;cursor:wait}.admin-checking{padding:60px 0;text-align:center;color:#666}@media (max-width: 768px){.admin-shell{padding:24px 20px 80px}.admin-form-row{grid-template-columns:1fr}.admin-item{grid-template-columns:64px 1fr;grid-template-rows:auto auto;gap:12px}.admin-item-handle{display:none}.admin-item-fields{grid-column:1 / -1;grid-template-columns:1fr}.admin-item>.admin-btn-danger{justify-self:end}}.analytics-range{display:flex;gap:6px;flex-wrap:wrap}.analytics-health{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:8px;border:1px solid transparent;margin-bottom:18px;font-size:.88rem;line-height:1.4}.analytics-health-good{background:#e8f4ea;border-color:#c8e0cc;color:#205c2e}.analytics-health-warn{background:#fdf3e0;border-color:#f0dcb0;color:#7d5a16}.analytics-health-bad{background:#fbe8e4;border-color:#f0c8bf;color:#842b1c}.analytics-health-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;background:currentColor;box-shadow:0 0 0 3px #fff9}.analytics-health-good .analytics-health-dot{animation:analyticsHealthPulse 2.4s ease-in-out infinite}@keyframes analyticsHealthPulse{0%,to{box-shadow:0 0 0 3px #fff9,0 0 #2e7d3266}50%{box-shadow:0 0 0 3px #fff9,0 0 0 6px #2e7d3200}}.analytics-health-text strong{font-weight:600}.analytics-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px}.analytics-stat{background:#fff;border:1px solid #ece8df;border-radius:10px;padding:18px 22px;box-shadow:0 1px 2px #00000008}.analytics-stat-label{font-size:.72rem;letter-spacing:1.2px;text-transform:uppercase;color:#888;font-weight:500}.analytics-stat-value{font-family:Lora,serif;font-size:2rem;font-weight:500;color:#2a3a52;margin-top:4px;line-height:1.1}.analytics-stat-sub{font-size:.78rem;color:#888;margin-top:4px}.analytics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}.analytics-grid .admin-section{margin-bottom:0}.analytics-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.analytics-row{display:grid;grid-template-columns:minmax(0,1fr) 100px 48px;gap:12px;align-items:center;font-size:.88rem;color:#2a3a52}.analytics-row-key{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.analytics-row-count{text-align:right;font-variant-numeric:tabular-nums;color:#666;font-size:.85rem}.analytics-bar-wrap{height:6px;background:#f3eee2;border-radius:999px;overflow:hidden}.analytics-bar{height:100%;background:var(--terracotta);border-radius:999px;transition:width .3s ease}.analytics-sparkline{display:flex;align-items:flex-end;gap:4px;height:140px;padding-top:8px}.analytics-spark-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;min-width:12px}.analytics-spark-bar{width:100%;background:var(--terracotta);border-radius:3px 3px 0 0;min-height:4px;transition:height .3s ease}.analytics-spark-label{font-size:.65rem;color:#888;margin-top:6px;font-variant-numeric:tabular-nums;white-space:nowrap}.analytics-section-head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:8px}.analytics-section-subtitle{font-size:.82rem;color:#888}.analytics-events{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.analytics-event-card{background:#fff;border:1px solid #ece8df;border-radius:10px;padding:16px 18px;display:flex;flex-direction:column;gap:12px}.analytics-event-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.analytics-event-titles{display:flex;flex-direction:column;gap:2px;min-width:0}.analytics-event-name{font-family:Lora,serif;font-size:1.02rem;font-weight:500;color:#2a3a52;letter-spacing:.2px;line-height:1.2}.analytics-event-raw{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.7rem;color:#b9b4a5;letter-spacing:.2px}.analytics-event-count{font-family:Lora,serif;font-size:1.6rem;font-weight:500;color:var(--terracotta);font-variant-numeric:tabular-nums;line-height:1}.analytics-event-paths{list-style:none;margin:0;padding:8px 0 0;border-top:1px solid #f3eee2;display:flex;flex-direction:column;gap:5px}.analytics-event-path{display:flex;justify-content:space-between;gap:10px;font-size:.78rem;color:#6a6a6a}.analytics-event-path-key{font-family:var(--font-sans);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.analytics-event-path-count{font-variant-numeric:tabular-nums;color:#999;flex-shrink:0}.analytics-events-table-when{white-space:nowrap;font-size:.82rem;color:#6a6a6a}.analytics-events-table-path{font-family:var(--font-sans);font-size:.85rem;color:#2a3a52;max-width:240px}.analytics-events-table-details{max-width:360px}.analytics-event-badge{display:inline-block;background:#fff1ef;color:#b0463a;border:1px solid #f3d9d4;border-radius:999px;padding:3px 10px;font-size:.74rem;font-weight:500;letter-spacing:.2px;white-space:nowrap}.analytics-event-props{display:flex;flex-wrap:wrap;gap:4px 8px}.analytics-event-prop{font-size:.74rem;background:#fbfaf5;border:1px solid #ece8df;border-radius:4px;padding:1px 7px;display:inline-flex;gap:5px;max-width:100%;overflow:hidden}.analytics-event-prop-key{color:#888;font-family:var(--font-sans)}.analytics-event-prop-val{color:#2a3a52;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.analytics-event-prop-empty{color:#b9b4a5}.analytics-section-head h2{margin:0}.analytics-section-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.analytics-select{padding:8px 11px;border:1px solid #d8d5cc;border-radius:4px;font-size:.88rem;font-family:var(--font-sans);background:#fff;color:#2a3a52}.analytics-journeys{display:flex;flex-direction:column;gap:8px}.analytics-journey{border:1px solid #ece8df;border-radius:8px;background:#fbfaf5;overflow:hidden;transition:border-color .2s ease}.analytics-journey.expanded{background:#fff;border-color:#d8d5cc}.analytics-journey-head{display:grid;grid-template-columns:20px 1fr auto;gap:14px;align-items:center;width:100%;padding:12px 16px;background:transparent;border:none;text-align:left;cursor:pointer;font-family:var(--font-sans);color:#2a3a52;transition:background-color .15s ease}.analytics-journey-head:hover{background:#cc493b0a}.analytics-journey-arrow{color:var(--terracotta);font-size:.8rem;line-height:1}.analytics-journey-summary{display:flex;flex-direction:column;gap:2px;min-width:0}.analytics-journey-time{font-size:.9rem;font-weight:500;color:#2a3a52}.analytics-journey-meta{font-size:.8rem;color:#666}.analytics-journey-meta-faded{font-size:.75rem;color:#999;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.analytics-journey-stats{display:flex;gap:6px;font-size:.85rem;color:#666;font-variant-numeric:tabular-nums;white-space:nowrap}.analytics-timeline{list-style:none;margin:0;padding:8px 16px 16px;border-top:1px solid #ece8df;position:relative}.analytics-timeline-step{display:grid;grid-template-columns:24px 1fr;gap:12px;padding:10px 0;position:relative}.analytics-timeline-step:not(:last-child):before{content:"";position:absolute;left:11px;top:22px;bottom:-10px;width:2px;background:#ece8df}.analytics-timeline-dot{width:10px;height:10px;margin-top:6px;margin-left:7px;border-radius:50%;background:var(--terracotta);border:2px solid #fff;box-shadow:0 0 0 1px #d8d5cc;z-index:1}.analytics-timeline-body{min-width:0}.analytics-timeline-path{display:flex;align-items:center;gap:8px;font-size:.92rem;color:#2a3a52;flex-wrap:wrap}.analytics-timeline-num{color:#b9b4a5;font-variant-numeric:tabular-nums;font-size:.8rem}.analytics-timeline-pathtext{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88rem;color:#2a3a52;word-break:break-all}.analytics-timeline-badge{font-size:.65rem;padding:2px 8px;border-radius:999px;letter-spacing:.5px;text-transform:uppercase}.analytics-timeline-badge-entry{background:#e0eddf;color:#2d6a4f}.analytics-timeline-badge-exit{background:#fff1ef;color:#b0463a}.analytics-timeline-title{font-size:.82rem;color:#666;margin-top:2px}.analytics-timeline-time{font-size:.75rem;color:#999;margin-top:3px}.analytics-timeline-gap{color:#b9b4a5}.analytics-timeline-step.is-event .analytics-timeline-dot,.analytics-timeline-dot.is-event{background:#fff;border-color:var(--terracotta);box-shadow:0 0 0 1px var(--terracotta)}.analytics-timeline-step.is-event:not(:last-child):before{background:#f3d9d4}.analytics-timeline-event-pill{display:inline-block;background:#fff1ef;color:#b0463a;border:1px solid #f3d9d4;border-radius:999px;padding:3px 10px;font-size:.78rem;font-weight:500;letter-spacing:.2px;white-space:nowrap}.analytics-timeline-event-on{font-size:.82rem;color:#6a6a6a}.analytics-timeline-props{display:flex;flex-wrap:wrap;gap:4px 8px;margin-top:6px}.analytics-timeline-prop{font-size:.74rem;background:#fbfaf5;border:1px solid #ece8df;border-radius:4px;padding:1px 7px;display:inline-flex;gap:5px;max-width:100%;overflow:hidden}.analytics-timeline-prop-key{color:#888}.analytics-timeline-prop-val{color:#2a3a52;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.analytics-journey.converted{border-left:3px solid #4a8a5e}.analytics-journey-converted-badge{display:inline-block;background:#e0eddf;color:#2d6a4f;border:1px solid #c4dac8;border-radius:999px;padding:1px 8px;font-size:.65rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase;margin-left:8px;vertical-align:1px}.analytics-journey-clicks-on{color:#b0463a;font-weight:500}@media (max-width: 768px){.analytics-stat-value{font-size:1.6rem}.analytics-row{grid-template-columns:minmax(0,1fr) 60px 40px}.analytics-spark-label{display:none}.analytics-journey-head{grid-template-columns:16px 1fr}.analytics-journey-stats{grid-column:1 / -1;margin-left:30px;font-size:.78rem}}*{margin:0;padding:0;box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}html,body{max-width:100%;overflow-x:hidden}a,button,input,select,textarea,[role=button]{touch-action:manipulation}input,select,textarea{font-size:16px}:root{--pink: #e8b4a8;--beige: #faf8f5;--white: #FFFFFF;--navy: #2a3a52;--terracotta: #CC493B;--font-serif: "Lora", serif;--font-sans: "Inter", sans-serif}body{font-family:var(--font-sans);background-color:var(--beige);color:var(--navy);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:500;line-height:1.3}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;font-family:inherit}img{max-width:100%;display:block}.category-header,.featured-header{display:flex;flex-direction:column;align-items:flex-start}.category-title,.featured-title{display:inline-block;position:relative;padding-bottom:6px;cursor:default;transition:color .25s cubic-bezier(.4,0,.2,1),text-shadow .25s cubic-bezier(.4,0,.2,1)}.category-title:after,.featured-title:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:0;height:1px;background-color:var(--terracotta);transition:width .3s cubic-bezier(.4,0,.2,1)}.category-title:hover,.featured-title:hover{color:var(--terracotta);text-shadow:.25px 0 0 currentColor}.category-title:hover:after,.featured-title:hover:after{width:100%}
