/* Consistent catalogue thumbnails. Full photographs remain in the configurator. */
.print-tile-image{display:block;aspect-ratio:4/5;padding:clamp(10px,1.5vw,22px);background:#fff;border:5px solid #171717;box-shadow:0 10px 24px #00000012;overflow:hidden}
.print-tile-image img{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:center;box-shadow:none}
.print-tile:hover img{transform:scale(1.025)}
#contact-form-dialog{width:min(920px,calc(100vw - 40px));max-width:920px;padding:0;border:0;border-radius:16px;background:#fff;color:#141414;box-shadow:0 24px 100px #0004}
#contact-form-dialog::backdrop{background:#10101066;backdrop-filter:blur(8px)}
#contact-form-dialog .form-heading{padding:42px 48px 30px;background:#141414;color:#fff;border-bottom:4px solid var(--red)}
#contact-form-dialog .form-heading .eyebrow{color:#ddd;letter-spacing:.15em;font-size:12px}
#contact-form-dialog .form-heading h2{font-size:clamp(40px,5vw,66px);letter-spacing:-.02em;line-height:1.05;margin:18px 0 12px}
#contact-form-dialog .form-heading>p{color:#c6c6c6;font-size:16px;margin:0;line-height:1.6}
#contact-form-dialog .close{position:absolute;top:14px;right:14px;color:#fff;background:#ffffff15;border:1px solid #ffffff30;border-radius:50%;z-index:2}
#contact-form-dialog .close:hover{background:var(--red)}
#enquiry-form{padding:12px 48px 36px}
#enquiry-form .form-grid{gap:24px;margin:24px 0}
#enquiry-form label{font-size:14px;font-weight:650;display:block}
#enquiry-form input:not([type=radio]):not([type=hidden]),#enquiry-form textarea{width:100%;border:1px solid #dedede;border-radius:8px;background:#fafafa;padding:15px 16px;margin-top:9px;font:400 16px Manrope,Arial,sans-serif;color:#141414;transition:border-color .2s,background .2s}
#enquiry-form textarea{resize:vertical;min-height:130px}
#enquiry-form input:focus-visible,#enquiry-form textarea:focus-visible{background:white;outline:2px solid var(--red);outline-offset:2px;box-shadow:none}
#enquiry-form .topic-options{margin:26px 0;gap:8px}
#enquiry-form .topic-options legend{font-size:14px;font-weight:650;margin-bottom:12px}
#enquiry-form .topic-options label span{border:1px solid #ddd;border-radius:30px;padding:12px 17px;font-size:14px;transition:background .2s,color .2s}
#enquiry-form .topic-options input:checked+span{background:var(--red);border-color:var(--red);color:white!important}
#enquiry-form .primary{display:flex;align-items:center;justify-content:space-between;width:100%;margin:20px 0 0;padding:12px 14px 12px 24px;min-height:64px;border:0;border-radius:40px;background:#141414;color:#fff;font-size:14px;letter-spacing:.04em;cursor:pointer;transition:background .2s}
#enquiry-form .primary>span{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--red)}
#enquiry-form .primary svg{width:20px;height:20px}
#enquiry-form .primary:hover{background:var(--red)}
#enquiry-form .primary:hover>span{background:#141414}
#enquiry-form .form-privacy{font-size:12px;line-height:1.6;margin:18px 0;color:#666}
#enquiry-status:empty{display:none}
@media(max-width:650px){
 .print-tile-image{padding:10px;border-width:3px}
  #contact-form-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);margin:auto;border-radius:12px}
 #contact-form-dialog .form-heading{padding:50px 24px 25px}
 #contact-form-dialog .form-heading h2{font-size:clamp(34px,9vw,48px)}
 #enquiry-form{padding:4px 24px max(24px,env(safe-area-inset-bottom))}
 #enquiry-form .form-grid{grid-template-columns:1fr;gap:18px}
 #enquiry-form .topic-options label span{padding:11px 13px}
}
@media(prefers-reduced-motion:reduce){#enquiry-form *, .print-tile-image img{transition:none}}

/* White gallery mats with one consistent crop and inset. */
.print-tile-image{box-sizing:border-box;border:0;padding:16px;background:#fff;box-shadow:0 3px 16px #0000000c;aspect-ratio:4/5}
.print-tile-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.print-grid{background:#f5f5f5;padding:28px 4% 40px;gap:32px 24px}
.collection-switch{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr 1fr;gap:0;width:360px;margin:18px auto 24px;padding:4px;border:1px solid #dedede;border-radius:12px;background:#fff;box-shadow:0 5px 18px #00000008}
.collection-switch:before{content:'';position:absolute;z-index:-1;inset:4px auto 4px 4px;width:calc(50% - 4px);background:#141414;border-radius:8px;transition:transform .35s cubic-bezier(.22,.75,.15,1),background .35s}
.collection-switch:has(#view-grid[aria-pressed=true]):before{transform:translateX(100%);background:var(--red)}
.collection-switch button,.collection-switch button[aria-pressed=true]{display:flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:10px 14px;background:transparent;border-radius:8px;font-size:12px;letter-spacing:.07em;color:#666;transition:color .25s}
.collection-switch button[aria-pressed=true]{color:#fff}
.collection-switch button span{margin:0;font-size:inherit}
.collection-switch button svg{width:22px;height:22px;flex-shrink:0}
.collection-switch button:hover:not([aria-pressed=true]){color:#141414}
/* Editorial invitation beside a quiet, usable form. */
#contact-form-dialog{width:min(1040px,calc(100vw - 40px));max-width:1040px;border-radius:14px;overflow:auto}
#contact-form-dialog[open]{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr)}
#contact-form-dialog>form[method=dialog]{position:absolute;right:0;top:0;z-index:3}
#contact-form-dialog .form-heading{display:flex;flex-direction:column;justify-content:center;padding:56px 36px;background:#141414;border:0;min-width:0}
#contact-form-dialog .form-heading h2{font-size:clamp(48px,5.6vw,76px);line-height:1.02;letter-spacing:-.025em;margin:30px 0}
#contact-form-dialog .form-heading h2 em{display:inline-block;color:var(--red)}
#contact-form-dialog .form-heading>p{font-size:16px;max-width:24ch}
#contact-form-dialog .close{background:#f0f0f0;color:#141414;border:0}
#contact-form-dialog .close:hover{background:var(--red);color:#fff}
#enquiry-form{padding:48px 32px 30px;min-width:0}
#enquiry-form .form-grid{grid-template-columns:1fr;gap:18px;margin:0 0 24px}
#enquiry-form input:not([type=radio]):not([type=hidden]),#enquiry-form textarea{background:transparent;border:0;border-bottom:1px solid #ccc;border-radius:0;padding:12px 0;margin-top:4px}
#enquiry-form .topic-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}
#enquiry-form .topic-options label span{border-radius:6px;padding:13px 10px;text-align:center;font-size:13px}
#enquiry-form .primary{border-radius:8px;padding:12px 14px 12px 20px;min-height:60px}
#enquiry-form .primary>span{border-radius:5px;transition:transform .25s}
#enquiry-form .primary:hover>span{transform:rotate(6deg)}
@media(max-width:700px){
 .print-grid{gap:24px 12px;padding:20px 4% 30px}
 .print-tile-image{padding:10px}
 .collection-switch{width:min(340px,90%)}
 #contact-form-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}
 #contact-form-dialog[open]{display:block}
 #contact-form-dialog .form-heading{padding:32px 24px 26px}
 #contact-form-dialog .form-heading h2{font-size:42px;line-height:1.04;margin:16px 0 12px}
 #contact-form-dialog .form-heading h2 br{display:block}
 #contact-form-dialog .form-heading h2 br:after{content:' '}
 #contact-form-dialog .form-heading h2 em{display:block}
 #contact-form-dialog .form-heading>p{font-size:14px;max-width:none}
 #enquiry-form{padding:24px 24px max(24px,env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:reduce){.collection-switch:before,.collection-switch button,#enquiry-form .primary>span{transition:none}}

.print-tile-image{position:relative;--mat:16px}
.print-tile-image img{position:absolute;inset:var(--mat);width:calc(100% - var(--mat)*2);height:calc(100% - var(--mat)*2)}
.print-tile:hover img{transform:none}
@media(max-width:700px){.print-tile-image{--mat:10px}}

/* Keep both panels visible in the diptych thumbnail. */
.print-tile-diptych .print-tile-image img{object-fit:cover;background:#fff}

/* Keep touch motion compositor-only; the frame shadow remains static. */
@media(max-width:650px){
 .hero .flow-mount{box-shadow:0 8px 16px -8px #0003;transform:translateZ(0)}
 .hero .flow-card{backface-visibility:hidden;-webkit-backface-visibility:hidden}
 .hero .coverflow{touch-action:pan-y pinch-zoom}
}
.native-gallery{display:none}
@media(max-width:650px){
 #coverflow .flow-cards{display:none!important}
 #coverflow{perspective:none;touch-action:auto}
 #coverflow .native-gallery{display:flex;position:relative;align-items:center;width:100%;height:100%;overflow-x:auto;overflow-y:hidden;gap:18px;padding:22px 11vw;box-sizing:border-box;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x pan-y pinch-zoom;-webkit-overflow-scrolling:touch}
 .native-gallery::-webkit-scrollbar{display:none}
 .native-print{position:relative;flex:0 0 78vw;width:78vw;height:100%;scroll-snap-align:center;scroll-snap-stop:always;display:flex;align-items:center;justify-content:center;background:none;border:0;padding:0;touch-action:auto}
 .native-mount{display:flex;align-items:center;justify-content:center;max-height:100%;max-width:100%;padding:16px;border:4px solid var(--native-edge,#151515);background:white;box-shadow:0 8px 18px -10px #0005;pointer-events:none}
 .native-mount img{display:block;max-width:100%;max-height:calc(clamp(360px,65svh,720px) - 90px);width:auto;height:auto;object-fit:contain;pointer-events:none}
}
@media(max-width:650px){.native-print{container-type:size}.native-mount img{max-height:calc(100cqh - 44px)}}

/* Mobile gallery: size the actual frames, leaving both neighbours in view. */
@media(max-width:650px){
 #coverflow .native-gallery{gap:14px;padding:22px 18%;scroll-padding-inline:0}
 #coverflow .native-print{flex:0 0 auto;width:64vw;container-type:normal}
 #coverflow .native-mount{box-sizing:border-box;width:100%;padding:12px;border-width:4px;max-height:none}
 #coverflow .native-mount img{width:100%;height:auto;max-height:none;max-width:100%}
}

/* Shared cart styling for mobile and desktop. */
 #art-preview .preview-heading{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;min-height:68px;padding:10px 14px 10px 20px}
 #preview-title{min-width:0;overflow-wrap:anywhere;line-height:1.5;font-size:12px;letter-spacing:.06em}
 #art-preview .preview-heading>form{position:static;grid-column:3;grid-row:1;margin:0}
 #art-preview .preview-heading .close{position:static;display:grid;place-items:center;width:44px;height:44px;margin:0;padding:0;border:0;border-radius:50%;font-size:26px;line-height:1;background:transparent;color:#141414}
 #studio-cart{position:relative;inset:auto;grid-column:2;grid-row:1;display:flex;align-items:center;justify-content:center;gap:5px;width:auto;min-width:56px;height:44px;padding:0 8px;border:1px solid #deded8;background:transparent;color:#141414;border-radius:22px}
 #studio-cart svg{width:20px;height:20px;flex:none;stroke-width:1.4}
 #studio-cart .studio-cart-count{position:static;min-width:17px;width:auto;height:18px;padding:0 3px;border-radius:0;background:none;color:inherit;font-size:11px;font-variant-numeric:tabular-nums;line-height:18px;letter-spacing:0}
 #selection{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:56px 22px 24px;border:1px solid #e5e5e0;border-radius:16px;overscroll-behavior:contain}
 #selection h2{font-size:clamp(30px,8vw,40px);line-height:1.1;margin:14px 0 8px}
 #selection .close{top:8px;right:10px;width:44px;height:44px;font-size:26px;line-height:1}
 #selection .cart-row{gap:14px;grid-template-columns:60px minmax(0,1fr);padding:20px 0}
 #selection .cart-row img{width:60px;height:84px}
 #selection .cart-row strong{overflow-wrap:anywhere}
 #selection .quantity-controls{gap:8px}
 #selection .quantity-controls button:not(.remove){width:40px;height:40px;border-radius:50%;font-size:18px}
 #selection .quantity-controls .remove{margin:0;min-height:40px;padding:8px;font-size:12px}
 #selection .primary{width:100%;min-height:52px;display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-radius:26px}
@media(max-width:760px){header.over-dark .bag{color:inherit}}

/* Show the cover photo until autoplay succeeds, without a native play overlay. */
.film-hero{background-image:url('assets/elipa-hero-poster-v68.jpg');background-size:cover;background-position:center 38%}
#elipa-film{opacity:0;pointer-events:none}
#elipa-film.is-playing{opacity:1}
#elipa-film::-webkit-media-controls,#elipa-film::-webkit-media-controls-start-playback-button{display:none!important;-webkit-appearance:none}
@media(max-width:650px){.film-hero{background-position:54% center}}

/* One consistent 4:5 gallery format; original proportions remain in the studio. */
.hero .flow-mount{box-sizing:border-box;border:0;padding:16px;background:#fff;box-shadow:0 2px 0 #d8d8d5,0 14px 30px -15px #0006}
.hero .flow-mount img{width:100%;height:100%;object-fit:cover;object-position:center}
.hero .flow-edge{background:#e1e1dd}
.hero .flow-edge-back{box-shadow:0 12px 26px -12px #0004}
@media(max-width:650px){
 #coverflow .native-gallery{gap:18px;padding:26px 16%;align-items:center}
 #coverflow .native-print{flex:none;align-self:center;aspect-ratio:4/5}
 #coverflow .native-mount{width:100%;height:100%;padding:12px;border:0;background:white;box-shadow:2px 3px 0 #dededb,0 12px 24px -13px #0006}
 #coverflow .native-mount img{display:block;width:100%;height:100%;max-height:100%;object-fit:cover;object-position:center}
}

/* Alternate frame finishes with the same outer size and mat on every print. */
.hero .flow-mount{border:5px solid var(--flow-edge,#151515);padding:16px}
.hero .flow-edge{background:var(--flow-side,#242424)}
.studio-options .print-size-note{margin-top:14px;padding:14px 16px;border-left:2px solid var(--red);background:#f1f1ee;text-align:left}
.studio-options .print-size-note>strong{font:700 12px/1.5 'Manrope',Arial,sans-serif;letter-spacing:.08em;color:#141414}
.studio-options .print-size-note p{font:400 14px/1.6 'Manrope',Arial,sans-serif;color:#444;margin:6px 0 10px}
.studio-options .smaller-size-enquiry{display:inline-block;background:none;border:0;border-bottom:1px solid #777;padding:4px 0;font:600 14px/1.5 'Manrope',Arial,sans-serif;color:#141414;text-align:left;cursor:pointer}
.studio-options .smaller-size-enquiry:hover{color:var(--red);border-color:var(--red)}
@media(max-width:650px){#coverflow .native-mount{border:4px solid var(--native-edge,#151515);padding:12px}.studio-options .print-size-note{padding:12px;margin-top:12px}}

/* Defined frame edges and physical depth without changing swipe geometry. */
.hero .flow-mount{border-width:7px;outline:1px solid #00000024;box-shadow:inset 0 0 0 1px #00000016,0 3px 5px #00000012,8px 20px 30px -13px #00000055}
.hero .flow-edge-back{box-shadow:8px 22px 32px -12px #00000055}
.studio-options .print-size-note{margin-top:10px;padding:0;border:0;background:none}
.studio-options .print-size-note p{margin:0 0 4px;font-size:14px;line-height:1.6;color:#666}
.studio-options .smaller-size-enquiry{font-size:13px;font-weight:400;color:#666;border-bottom-color:#bbb;padding:2px 0;line-height:1.5}
@media(max-width:650px){
 #coverflow .native-mount{border-width:6px;outline:1px solid #00000024;box-shadow:inset 0 0 0 1px #00000016,1px 1px 0 #b9b9b6,2px 2px 0 #b9b9b6,3px 3px 0 #b9b9b6,4px 4px 0 #aaa,5px 5px 0 #aaa,8px 16px 24px -11px #0006}
 .studio-options .print-size-note{padding:0;margin-top:10px}
}

/* Mobile gallery: generous artwork, quiet depth and a compact caption. */
@media(max-width:650px){
 #prints.coverflow-hero{padding-top:22px;padding-bottom:28px;min-height:0}
 #prints .flow-top{padding:0 6% 12px;min-height:0;gap:16px;font-size:11px;line-height:1.5}
 #prints .flow-top>span:first-child{max-width:72%}
 #prints .collection-switch{width:calc(100% - 48px);max-width:330px;margin:8px auto 18px;box-shadow:none;border-color:#e3e3df;border-radius:999px}
 #prints .collection-switch button{border-radius:999px;min-height:44px}
 #prints #coverflow{height:calc(95vw + 48px);max-height:none;min-height:0;margin:0;background:transparent}
 #coverflow .flow-ground{display:none}
 #coverflow .native-gallery{padding:20px 12% 28px;gap:16px;align-items:center}
 #coverflow .native-print{border-radius:0;outline-offset:5px}
 #coverflow .native-mount{box-sizing:border-box;padding:14px;border:5px solid var(--native-edge,#151515);outline:1px solid #00000020;background:#fff;box-shadow:inset 0 0 0 1px #0000000c,1px 2px 0 #c9c9c5,2px 3px 0 #bdbdb9,0 10px 18px -10px #0005;transform:none}
 #coverflow .native-mount img{width:100%;height:100%;object-fit:cover}
 #prints .gallery-tools{margin:8px 0 0;padding:0 24px}
 #prints .gallery-tools .flow-view{margin:0;min-height:40px;font-size:12px;letter-spacing:.06em}
 #prints .gallery-tools .flow-hint{display:none}
 #prints .flow-detail{padding:4px 24px 0}
 #prints .flow-title-row{gap:12px;align-items:center}
 #prints .flow-caption{min-width:0}
 #prints .flow-caption h2{font-size:clamp(25px,7vw,36px);line-height:1.15;margin:0 0 8px;letter-spacing:-.015em}
 #prints .flow-caption p{font-size:12px;line-height:1.6;margin:0;color:#62625f}
 #prints .flow-nav{flex:none;width:36px;height:44px;padding:8px;background:transparent;border:0}
 #prints .flow-actions{margin:18px 0 0}
 #prints .flow-actions #flow-buy{min-height:52px;font-size:13px;letter-spacing:.05em}
}

/* Balanced mobile scale with the same crisp framing and soft depth as desktop. */
@media(max-width:650px){
 #prints #coverflow{height:calc(min(90vw,425px) + 48px);background:transparent}
 #coverflow .native-gallery{padding-inline:14%;gap:18px}
 #coverflow .native-mount{border-width:6px;padding:14px;outline:1px solid #00000024;box-shadow:inset 0 0 0 1px #00000016,1px 2px 0 #c8c8c4,2px 4px 1px #b6b6b2,0 3px 5px #00000012,8px 20px 30px -13px #00000055}
}

/* Social entry points and Instagram ordering while online checkout is prepared. */
.hero-youtube{display:inline-flex;align-items:center;gap:13px;margin-top:25px;padding:10px 15px 10px 10px;min-height:56px;color:#fff;border:1px solid #ffffff65;border-radius:40px;background:#14141430;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-size:11px;font-weight:700;letter-spacing:.06em;text-decoration:none;transition:background .2s,border-color .2s}
.hero-youtube:hover{background:#14141480;border-color:#fff}.hero-youtube .youtube-play{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:50%;background:#fff;color:#141414}.hero-youtube .youtube-play svg{width:19px;height:19px}.hero-youtube small{display:block;font-size:8px;font-weight:500;letter-spacing:.1em;opacity:.72;margin-top:4px}.hero-youtube>svg{width:17px;height:17px;margin-left:10px}
.collab-studio{display:block;max-width:600px;margin:35px 0 0;padding:24px 0;border-top:1px solid #14141440;border-bottom:1px solid #14141440;color:#141414;text-decoration:none}.studio-link-label{display:block;font-size:10px;font-weight:650;letter-spacing:.13em}.studio-link-title{display:flex;align-items:center;justify-content:space-between;font-family:Anton,Impact,sans-serif;font-size:clamp(34px,4vw,58px);line-height:1.2;margin:12px 0 10px}.studio-link-title svg{width:32px;height:32px;transition:transform .2s}.collab-studio:hover .studio-link-title svg{transform:translate(3px,-3px)}.studio-link-copy{display:flex;justify-content:space-between;gap:16px;font-size:12px;line-height:1.5}.studio-link-copy>span{opacity:.7}
.print-order-note{margin:15px auto 0;color:#777772;font-size:11px;line-height:1.7;text-align:center}.print-order-note span{color:#44443f}.studio-options .studio-order-note{font-size:12px;line-height:1.6;color:#777772;margin:10px 0 18px}.studio-purchase #add{font-size:12px;letter-spacing:.03em}
#bag,#studio-cart,.studio-cart-shortcut{display:none!important}
@media(max-width:650px){.hero-youtube{margin-top:20px;min-height:52px;gap:10px;font-size:10px}.hero-youtube .youtube-play{width:30px;height:30px}.collab-studio{margin-top:26px;padding:21px 0}.studio-link-copy{flex-direction:column;gap:5px}.print-order-note{max-width:270px;font-size:11px;margin-top:12px}.print-order-note span{display:block}.studio-purchase #add{font-size:11px;padding-inline:15px}.film-statement{padding-bottom:50px}}

@media(max-width:760px){header .menu-toggle{margin-left:auto}}

/* Quiet social links, subordinate to the photography and collaboration headline. */
.hero-youtube{gap:9px;min-height:44px;padding:0;margin-top:18px;border:0;border-radius:0;background:none;backdrop-filter:none;-webkit-backdrop-filter:none;font-size:10px;font-weight:500;letter-spacing:.12em;opacity:.85}
.hero-youtube:hover{background:none;opacity:1}.hero-youtube .youtube-play{width:16px;height:16px;background:none;color:currentColor;border-radius:0}.hero-youtube .youtube-play svg{width:16px;height:16px}.hero-youtube>svg{width:12px;height:12px;margin-left:3px}
.collab-studio{display:inline-flex;flex-direction:column;align-items:flex-start;gap:6px;max-width:100%;margin-top:24px;padding:0;border:0}
.studio-link-title{justify-content:flex-start;gap:10px;font-family:inherit;font-size:13px;font-weight:700;letter-spacing:.06em;line-height:1.4;margin:0}.studio-link-title svg{width:14px;height:14px}.studio-link-copy{font-size:11px;line-height:1.5;gap:0}.studio-link-copy>span{opacity:.65}.collab-studio:hover .studio-link-title{text-decoration:underline;text-underline-offset:4px}
.brand-logo.ploom img{width:105px;height:65px;object-fit:contain}
@media(max-width:650px){.hero-youtube{margin-top:14px;font-size:9px;min-height:44px}.collab-studio{margin-top:22px;padding:0}.studio-link-title{font-size:12px}.studio-link-copy{font-size:10px}.brand-logo.ploom img{width:85px;height:53px}}

@media(max-width:650px){.film-statement{justify-content:flex-start;padding:clamp(245px,43svh,430px) 6% 0}.film-hero{background-position:54% center}}
