.studio-wrap{width:min(1280px,calc(100% - 64px));margin-inline:auto}.studio-body{background:#f4f5f6}.studio-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:36px 0}.studio-heading h1,.gallery-intro h1{font-size:clamp(3rem,6vw,5.5rem)}.studio-nav{display:flex;flex-wrap:wrap;gap:12px 28px;border-block:1px solid var(--line);padding-block:14px;margin-block:28px}.studio-nav a{padding:10px 0;text-decoration:underline;text-underline-offset:6px;font-size:1rem}.studio-section{padding-block:45px;scroll-margin-top:30px}.studio-section h2{font-size:clamp(2rem,4vw,3.25rem)}.studio-section>.section-heading>p{max-width:420px}.record-list{display:grid;gap:20px;margin-top:24px}.panel,.record{padding:28px;background:#fff;border:1px solid #d4d9de}.record h3,.panel h3{font-size:1.75rem;line-height:1.2;letter-spacing:-.02em;margin-bottom:14px}.record p+p{margin-top:10px}.record .small-note{color:#545b65}.record-head,.record-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}.record-actions{justify-content:flex-start;margin-top:20px}.badge{font-size:.875rem;background:#edf1f5;padding:8px 12px;line-height:1.5}.badge.private{background:#ebe5e3}.empty{padding:30px;border:1px dashed #bac1c9;color:#535d68;font-size:1rem;line-height:1.6}.form-stack{display:grid;gap:20px;margin-top:24px}.form-stack .button{justify-self:start}.panel summary{cursor:pointer;font-size:1.2rem;padding-block:6px}.panel summary:focus-visible{outline:3px solid #405875;outline-offset:4px}.share-panel{margin-block:22px;background:#e8eef4}.share-panel>p{margin-bottom:16px}.share-panel button{margin-top:14px}.client-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-block:28px}.client-photo{min-width:0;background:#fff;border:1px solid var(--line);padding:12px}.client-photo img{width:100%;height:330px;object-fit:contain;background:#eef0f2}.client-photo figcaption{font-size:.875rem;line-height:1.6;overflow-wrap:anywhere;margin-block:12px}.client-photo .secondary,.client-photo .button{width:100%;margin-top:10px;text-align:center;justify-content:center}.client-photo label{margin-top:12px}.client-photo .check{font-size:1rem}.client-photo input[type=text]{font-size:.9375rem}.gallery-intro{padding-block:40px}.gallery-intro>p:not(.eyebrow){margin-top:20px}.gallery-guide{border-block:1px solid var(--line);padding-block:24px}.gallery-guide p{color:#4c5560}.keepsakes{margin-block:60px 28px;padding:42px}.keepsakes>p:not(.eyebrow){max-width:700px;margin-top:24px}.product-types{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-block:32px}.product-types h3{font-size:1.6rem}.product-types p{font-size:1rem;color:#545b65}.keepsakes form{max-width:750px}.gallery-privacy p{margin-block:16px}.confirm-row{margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}progress{width:100%;height:12px;accent-color:#405875}#gallery-editor{margin-top:30px}#calendar>p{margin-block:20px}#calendar .text-link{margin-top:18px}.order-photo-links{display:flex;flex-wrap:wrap;gap:12px}.order-photo-links img{width:75px;height:100px;object-fit:cover}.error{color:#9c2929}.success{color:#225642}
@media(max-width:900px){.client-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-types{grid-template-columns:1fr}.client-photo img{height:300px}}
@media(max-width:600px){.studio-wrap{width:calc(100% - 36px)}.studio-heading{align-items:flex-start}.panel,.record,.keepsakes{padding:20px}.client-grid{grid-template-columns:1fr}.client-photo img{height:auto;max-height:600px}.studio-nav{gap:8px 20px}.studio-section{padding-block:30px}.record-actions .button,.record-actions .secondary{width:100%;justify-content:center}.gallery-intro{padding-block:25px}.gallery-intro h1{font-size:3.2rem}.keepsakes{margin-top:38px}}
.preview-banner{padding:22px 28px;border:1px solid #9babbd;background:#e8eef4;margin-top:20px}.preview-banner strong{font-size:1.1rem}.preview-banner p{margin-top:8px;font-size:.9375rem}.preview-banner .text-link{margin-top:6px}.photo-zoom{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.photo-zoom:focus-visible{outline:3px solid #405875;outline-offset:3px}.client-photo .photo-zoom img{margin:0}.payment-row{padding:20px 0;border-bottom:1px solid #d4d9de}.payment-row .button{margin-top:14px}.share-panel a.secondary{margin-left:12px}#payments>p{margin-top:20px}#payments form{max-width:760px}#gallery-payment-form{max-width:900px}#manual-client{margin:0}#gallery-editor .record-actions{margin-top:0}#gallery-payment-list .record-actions{margin-top:20px}
@media(max-width:600px){.studio-heading{display:block}.studio-heading>.record-actions{margin-top:20px}.share-panel a.secondary{margin:14px 0 0}.preview-banner{padding:20px}.preview-banner .text-link{display:inline-flex}}
.shop-products{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1rem;margin:2rem 0}.shop-card{border:1px solid #b9c2cd;padding:1.5rem;background:#fff}.shop-card h3{margin-top:0}.shop-price{font-size:1.75rem}.shop-card label{display:block;margin:1rem 0}.shop-card input{max-width:6rem;display:block}.shop-card .button{width:100%}#embedded-checkout{scroll-margin-top:1rem}#stripe-checkout{min-height:5rem}.commerce-orders .record{margin-bottom:1rem}.commerce-orders address{font-style:normal;white-space:pre-line}

.gallery-shortcuts{display:flex;flex-wrap:wrap;gap:12px 28px;margin-bottom:20px}.gallery-shortcuts a{padding:10px 0;text-decoration:underline;text-underline-offset:5px}.viewer-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:18px}.viewer-actions .secondary{background:white;color:#242424;min-height:44px}.photo-viewer img{max-height:65dvh}.shop-card select{width:100%;font-size:1rem;padding:12px;border:1px solid #aeb5bd;background:white}.print-selection{width:100%;height:190px;object-fit:contain;background:#f3f4f5}.print-selection[hidden]{display:none}.print-total{font-weight:600;min-height:3em;margin:16px 0}.shop-card>p{font-size:1rem;line-height:1.65}.shop-card .shop-price{font-size:1.75rem}#client-photos,#keepsakes,#purchase-history{scroll-margin-top:24px}.button:disabled{cursor:not-allowed;opacity:.6}.gallery-shortcuts a:focus-visible,.viewer-actions a:focus-visible{outline:3px solid #405875;outline-offset:4px}
.download-consent,.download-progress{width:min(460px,calc(100vw - 32px));border:0;border-radius:18px;padding:28px;box-shadow:0 20px 70px #0004}.download-consent::backdrop,.download-progress::backdrop{background:#1118;backdrop-filter:blur(3px)}.download-consent h2,.download-progress h2{font-size:1.7rem;margin-bottom:10px}.download-consent p{font-size:1rem;line-height:1.5}.download-consent .check{margin:18px 0}.download-consent button{margin:4px 8px 0 0}.download-progress progress{width:100%;height:10px;margin:16px 0 4px}
.download-indicator{font-size:.82rem;color:#5d6268;display:inline-flex;align-items:center;gap:7px}.download-indicator:before{content:'';width:9px;height:9px;border:2px solid #bbb;border-top-color:#222;border-radius:50%;animation:download-spin .7s linear infinite}@keyframes download-spin{to{transform:rotate(1turn)}}

/* Quiet editorial gallery: photographs lead, controls stay secondary. */
.gallery-body{background:#fafafa}.gallery-body .studio-wrap{width:min(1380px,calc(100% - 96px))}.gallery-body .header{min-height:110px}.gallery-body .brand small{color:#777;letter-spacing:.18em}.gallery-body .gallery-intro{padding:70px 0 48px;max-width:900px}.gallery-body .gallery-intro h1{font-size:clamp(3.2rem,6.5vw,6rem);letter-spacing:-.055em}.gallery-body .gallery-intro .eyebrow{color:#777}.gallery-body .gallery-intro>p:not(.eyebrow){margin-top:16px}.gallery-body .gallery-shortcuts{border:0;padding:0 0 24px;gap:12px 32px}.gallery-body .gallery-shortcuts a{color:#626262;text-decoration:none;font-size:.95rem}.gallery-body .gallery-shortcuts a:hover{color:#111}.gallery-body #photo-count{color:#858585;font-size:.875rem}.gallery-body .client-grid{gap:38px 28px;margin:36px 0 80px;align-items:start}.gallery-body .client-photo{background:none;border:0;padding:0}.gallery-body .client-photo img{height:430px;background:#f0f0f0;border-radius:12px;object-fit:contain}.gallery-body .photo-zoom{border-radius:12px;overflow:hidden}.gallery-body .photo-zoom img{transition:transform .4s ease}.gallery-body .photo-zoom:hover img{transform:scale(1.015)}.gallery-body .client-photo figcaption{color:#737373;margin:16px 0 2px}.gallery-body .client-photo a.secondary{width:auto;min-height:44px;padding:8px 0;margin:0;border:0;background:none;color:#202020;font-size:.9rem;justify-content:flex-start;text-decoration:underline;text-decoration-color:#bbb;text-underline-offset:5px}.gallery-body .client-photo .check{font-size:.875rem;color:#777;margin-top:0}.gallery-body .panel{border:0;border-radius:20px;background:#f1f2f3;padding:36px}.gallery-body .keepsakes{background:transparent;padding:50px 0;margin:0}.gallery-body .keepsakes h2{font-size:clamp(2.7rem,4vw,4.5rem)}.gallery-body .shop-products{gap:24px;margin:38px 0}.gallery-body .shop-card{border:0;border-radius:20px;background:#fff;padding:32px;box-shadow:0 4px 30px #00000004}.gallery-body .shop-card h3{font-size:1.8rem}.gallery-body .shop-card>p:not(.shop-price):not(.print-total){color:#757575}.gallery-body .shop-card select,.gallery-body input,.gallery-body select,.gallery-body textarea{border:1px solid #e4e5e7;border-radius:10px;background:#fafafa}.gallery-body .print-selection{border-radius:10px}.gallery-body .button{border:0;border-radius:100px;justify-content:center;min-height:50px;padding:14px 24px}.gallery-body .secondary{border-radius:100px}.gallery-body .preview-banner{border:0;background:#eef0f2;border-radius:14px;padding:18px 24px}.gallery-body .preview-banner strong{font-size:.95rem}.gallery-body .preview-banner p{font-size:.875rem;color:#62666b}.gallery-body .preview-banner .text-link{font-size:.875rem}.gallery-body .gallery-privacy{background:transparent;padding:36px 0}.gallery-body .gallery-privacy h3{font-family:Arial,Helvetica,sans-serif;font-size:1.1rem;letter-spacing:0}.gallery-body .gallery-privacy p{color:#777;font-size:.95rem}.gallery-body #purchase-history{padding:32px 0}.gallery-body .keepsakes details{border-top:1px solid #e8e8e8;padding-top:24px}.gallery-body .footer{border-color:#e8e8e8;color:#777}
.gallery-body .photo-viewer{position:fixed;inset:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:64px 88px 90px;border:0;border-radius:0;background:#111214;overflow:hidden}.gallery-body .photo-viewer img{width:100%;height:100%;max-height:none;object-fit:contain;border-radius:0}.gallery-body .photo-viewer>p{position:absolute;bottom:28px;left:80px;right:240px;text-align:left;color:#b9bbbf;margin:0;font-size:.875rem}.gallery-body .viewer-close{right:24px;top:16px;width:44px;height:44px;color:#ddd;font-weight:200}.gallery-body .viewer-arrow{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border:0;border-radius:50%;background:#ffffff0d;color:#e3e3e3;display:grid;place-items:center;cursor:pointer}.gallery-body .viewer-arrow:hover{background:#ffffff20}.gallery-body .viewer-arrow svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.gallery-body #previous-photo{left:20px}.gallery-body #next-photo{right:20px}.gallery-body #viewer-download{position:absolute;right:32px;bottom:17px;background:none;border:0;border-radius:0;color:#ddd;padding:10px 0;font-size:.875rem;text-decoration:underline;text-underline-offset:5px}.gallery-body .viewer-actions{margin:0}.gallery-body .photo-viewer button:focus-visible{outline:2px solid white;outline-offset:4px}
@media(max-width:900px){.gallery-body .studio-wrap{width:calc(100% - 48px)}.gallery-body .client-photo img{height:350px}.gallery-body .gallery-intro{padding-top:44px}}
@media(max-width:600px){.gallery-body .studio-wrap{width:calc(100% - 36px)}.gallery-body .header{min-height:90px}.gallery-body .gallery-intro{padding:36px 0}.gallery-body .client-grid{gap:32px;margin-bottom:40px}.gallery-body .client-photo img{height:auto;max-height:75vh}.gallery-body .gallery-shortcuts{gap:6px 20px}.gallery-body .panel,.gallery-body .shop-card{padding:24px}.gallery-body .keepsakes,.gallery-body .gallery-privacy{padding:28px 0}.gallery-body .photo-viewer{padding:66px 14px 120px}.gallery-body .viewer-arrow{top:auto;bottom:65px;transform:none;background:transparent}.gallery-body #previous-photo{left:calc(50% - 58px)}.gallery-body #next-photo{right:calc(50% - 58px)}.gallery-body .photo-viewer>p{bottom:27px;left:20px;right:165px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gallery-body #viewer-download{right:20px;bottom:16px}.gallery-body .viewer-close{right:12px;top:12px}}
@media(prefers-reduced-motion:reduce){.gallery-body .photo-zoom img{transition:none}.gallery-body .photo-zoom:hover img{transform:none}}
.gallery-body .keepsakes details summary{display:flex;align-items:center;gap:10px;font-size:1.05rem}.gallery-body .keepsakes details summary:before{content:'✦';display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#e7e0d9;color:#473a30;font-size:1.1rem}.record-actions .secondary{min-height:38px;padding:9px 13px;font-size:.85rem}.record-actions .secondary:last-child{color:#8b2525;border-color:#ead1d1}
.gallery-body .keepsakes details summary:after{display:none}.gallery-body .keepsakes .product-types{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:28px 0 34px}.gallery-body .keepsake-card{padding:20px;background:#f6f6f5;border-radius:16px}.gallery-body .keepsake-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:14px;background:#fff;color:#292827;margin-bottom:18px}.gallery-body .keepsake-icon svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.gallery-body .keepsake-card h3{font-size:1.05rem;letter-spacing:-.02em}.gallery-body .keepsake-card p{margin-top:7px;color:#747474;font-size:.84rem;line-height:1.45}@media(max-width:650px){.gallery-body .keepsakes .product-types{grid-template-columns:1fr;gap:10px}.gallery-body .keepsake-card{display:grid;grid-template-columns:54px 1fr;column-gap:16px;align-items:center}.gallery-body .keepsake-icon{grid-row:span 2;margin:0}.gallery-body .keepsake-card p{margin:4px 0 0}}
.edit-gallery-dialog{width:min(520px,calc(100vw - 32px));max-height:calc(100dvh - 32px);margin:auto;border:0;border-radius:20px;padding:22px;background:#fff;box-shadow:0 24px 80px #0004;overflow:auto}.edit-gallery-dialog::backdrop{background:#0007;backdrop-filter:blur(3px)}.edit-gallery-dialog .form-stack{margin:0;gap:12px}.edit-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.edit-gallery-dialog h2{font:600 1.5rem/1.2 Arial,Helvetica,sans-serif;letter-spacing:-.03em;margin:0}.edit-close{display:grid;place-items:center;width:34px;height:34px;min-width:34px;padding:0;border:0;border-radius:50%;background:#f3f3f3;color:#222;font:400 1.6rem/1 Arial,Helvetica,sans-serif;cursor:pointer}.edit-close:hover{background:#e8e8e8}.edit-gallery-dialog label{font-size:.82rem;font-weight:600;gap:5px}.edit-gallery-dialog input{min-height:42px;padding:8px 10px}.edit-dialog-actions{display:flex;gap:10px;justify-content:flex-end;padding-top:4px}.edit-gallery-dialog .button{width:auto;min-width:134px}.edit-dialog-actions .secondary{min-width:90px}.edit-gallery-dialog .record-actions{margin-top:8px}@media(max-width:600px){.edit-gallery-dialog{padding:18px;border-radius:16px}.edit-dialog-actions{position:sticky;bottom:-18px;margin:0 -18px -18px;padding:12px 18px;background:#fff;border-top:1px solid #eee}.edit-dialog-actions .button,.edit-dialog-actions .secondary{width:100%}}
.gallery-select-actions{grid-column:1/-1;display:flex;justify-content:flex-end;margin:0 0 4px}
