/* Larger photographs and restrained framing let each technique read clearly. */
.catalogGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.catalogImg{height:auto;aspect-ratio:1/1;display:block}
.catalogImg img{display:block;object-fit:cover;object-position:center;transform:none!important}
.catalogCard{border-radius:20px;overflow:hidden}
.catalogInfo{padding:18px 18px 10px}
.catalogInfo h3{font-size:24px;line-height:1.15}
.catalogInfo small{font-size:10px}
.catalogAction{font-size:12px;min-height:48px}
.catalogZoom{position:absolute;right:12px;bottom:12px;padding:8px 12px;border-radius:999px;background:rgba(30,18,12,.82);color:#fff;font-size:11px;pointer-events:none}
.catalogNote{font-size:12px;color:#806b60;line-height:1.6;margin:20px 0 0}
.catalogTabs button{min-height:44px;font-size:12px}
.comboSection{grid-template-columns:1.1fr 1fr;gap:0;align-items:center;padding:64px max(24px,calc((100% - 1280px)/2));background:#281a14}
.comboVisual{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:12px;min-height:0;height:540px;overflow:visible}
.comboVisual>figure{position:relative;margin:0;overflow:hidden;border-radius:20px;min-height:0}
.comboVisual>figure:first-child{grid-row:1/3}
.comboVisual img{display:block;filter:none;transform:none!important;object-position:center}
.comboVisual>figure:first-child img{object-position:56% center}
.comboVisual figcaption{position:absolute;bottom:14px;left:14px;background:rgba(29,18,12,.8);border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:8px 13px;font-size:11px;letter-spacing:.1em;color:#fff}
.comboCopy{padding:30px 0 30px 55px}
.comboCopy>p{font-size:15px;line-height:1.75}
.comboCopy h2{font-size:clamp(40px,4.2vw,66px)}
.comboBenefits span{font-size:12px}
.serviceImage img{transform:none!important;object-position:center 35%}
.serviceCard{display:flex;flex-direction:column}
.serviceImage{height:auto;aspect-ratio:4/3;flex-shrink:0}
.serviceImage img{position:absolute;inset:0}
.serviceBody{padding:28px}
.serviceBody p,.serviceBody ul{font-size:12px;line-height:1.6}
.modelChoice img{aspect-ratio:1/1;height:auto;object-fit:cover;display:block}
.modelChoice span{font-size:12px}
.imagePreviewPanel{width:min(900px,calc(100% - 32px));padding:26px}
.imagePreviewPanel .modalHeader{padding-right:42px}
.imagePreviewPanel img{width:100%;max-height:60vh;object-fit:contain;display:block;border-radius:16px;background:#241910}
.imagePreviewPanel p{font-size:13px;line-height:1.6;color:#806b60}
.imagePreviewPanel .bookingNav{margin-top:16px}
.studioCard .imageCaption{font-size:11px;color:#826e62;margin:12px 0 0}
@media(max-width:1020px){.catalogGrid{gap:16px}.comboSection{padding:40px 24px;grid-template-columns:1fr}.comboVisual{height:520px;max-width:760px;width:100%;margin:auto}.comboCopy{padding:40px 10px 0;max-width:760px;margin:auto}.serviceCard{grid-template-columns:1fr}.serviceImage{height:300px}}
@media(max-width:760px){.catalogGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.catalogInfo{padding:12px 10px 8px}.catalogInfo h3{font-size:20px}.catalogInfo small{font-size:9px}.catalogAction{font-size:11px}.catalogZoom{right:7px;bottom:7px;font-size:10px;padding:6px 9px}.comboSection{padding:36px 16px}.comboVisual{height:380px;gap:8px}.comboVisual>figure{border-radius:14px}.comboVisual figcaption{left:8px;bottom:8px;font-size:9px;padding:7px 9px}.comboCopy{padding:32px 6px 8px}.comboCopy h2{font-size:46px}.serviceCard{grid-template-columns:1fr}.serviceImage{height:auto;aspect-ratio:1/1}.serviceBody{padding:25px}.imagePreviewPanel{width:100%;padding:22px 15px}.imagePreviewPanel img{max-height:54vh}}
@media(max-width:370px){.catalogGrid{grid-template-columns:1fr}.comboVisual{height:330px}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important;transition:none!important}}
