/* Shared service opening: broad visual field, protected text and feathered edges. */
.service-editorial .immersive-hero{height:640px;min-height:0;isolation:isolate}
.service-editorial .immersive-hero .hero-content{z-index:3;max-width:62%}
.service-editorial .immersive-hero h1{color:#d6fc78;max-width:15ch}
.service-editorial .immersive-hero p{max-width:39ch}
.service-editorial .immersive-media,.service-editorial .service-vector,.service-editorial .supplied-timeline{position:absolute;inset:0 0 0 15%;width:auto;height:100%;margin:0;padding:0;transform:none;mask-image:linear-gradient(90deg,transparent,#000 26%,#000 97%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 26%,#000 97%,transparent)}
.service-editorial .immersive-media>img,.service-editorial .supplied-timeline>img{position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;object-position:right center;transform:none;padding:0;mask-image:linear-gradient(180deg,transparent,#000 16%,#000 78%,transparent);-webkit-mask-image:linear-gradient(180deg,transparent,#000 16%,#000 78%,transparent)}
.service-editorial .immersive-shade{display:block;z-index:2;background:linear-gradient(90deg,#10120f 0%,#10120ff5 22%,#10120fe8 33%,#10120f9c 49%,#10120f12 68%,transparent 85%),linear-gradient(180deg,#10120f55,transparent 22%,transparent 75%,#10120f);pointer-events:none}
.service-editorial .photography-composition{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0;inset:0 -3% 0 17%;align-items:center;mask-image:linear-gradient(180deg,transparent,#000 15%,#000 84%,transparent);-webkit-mask-image:linear-gradient(180deg,transparent,#000 15%,#000 84%,transparent)}
.photography-composition .photo-panel{height:90%;min-width:0;margin-left:-22px;clip-path:polygon(8% 0,100% 0,92% 100%,0 100%)}
.photography-composition .photo-panel:nth-child(2){height:80%;align-self:end}.photography-composition .photo-panel:nth-child(3){height:94%}
.service-editorial .photo-panel img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;transform:none;mask-image:none}
.service-editorial .wedding-composition{inset:0 0 0 16%;display:block;mask-image:linear-gradient(180deg,transparent,#000 15%,#000 82%,transparent);-webkit-mask-image:linear-gradient(180deg,transparent,#000 15%,#000 82%,transparent)}
.wedding-panel{position:absolute;inset:5% 0 10% 0}.wedding-panel:nth-child(2){inset:auto 1% 7% auto;width:29%;height:27%;border:8px solid #10120f}
.service-editorial .wedding-panel img{width:100%;height:100%;object-fit:contain;object-position:right center;mask-image:none}
.photographer-intro{max-width:1000px;margin-inline:auto}.photographer-intro h2{color:#d6fc78}.photographer-intro p{max-width:70ch;line-height:1.8}
.service-editorial .editorial-service-block{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,80px);align-items:center}
.editorial-service-copy{min-width:0}.service-editorial .editorial-service-copy>.content-grid{display:grid;grid-template-columns:1fr;gap:18px}.editorial-service-copy h2{margin-bottom:28px}
.editorial-service-visual{display:flex;align-items:center;gap:15px;min-width:0}.service-editorial-image{margin:0;flex:1;min-width:0}.service-editorial-image img{display:block;width:100%;height:auto;object-fit:contain;border-radius:0;filter:none;mask-image:none}
.editorial-service-visual:has(figure:nth-child(2)) figure:nth-child(2){margin-top:70px}
.service-editorial main[data-service="fotografia"] .editorial-service-block:nth-of-type(even) .editorial-service-visual{grid-column:1;grid-row:1}
.service-editorial main[data-service="fotografia"] .editorial-service-block:nth-of-type(even) .editorial-service-copy{grid-column:2}
@media(max-width:1000px) and (min-width:701px){.service-editorial .immersive-hero{height:560px}.service-editorial .immersive-hero h1{font-size:clamp(44px,6.7vw,70px)}.service-editorial .editorial-service-block{gap:26px}.service-editorial .photography-composition{inset-inline-start:10%}}
@media(max-width:700px){
.service-editorial .immersive-hero{height:auto;min-height:640px;display:block;padding:45px 5% 280px}
.service-editorial .immersive-hero .hero-content{max-width:100%;width:100%}.service-editorial .immersive-hero h1{font-size:clamp(36px,9vw,56px);max-width:15ch}.service-editorial .immersive-hero p{max-width:36ch}
.service-editorial .immersive-media,.service-editorial .service-vector,.service-editorial .supplied-timeline,.service-editorial .photography-composition,.service-editorial .wedding-composition{position:absolute;inset:115px -4% 0 0;width:auto;height:auto;aspect-ratio:auto;margin:0;padding:0;mask-image:linear-gradient(180deg,transparent,#000 20%,#000 80%,transparent);-webkit-mask-image:linear-gradient(180deg,transparent,#000 20%,#000 80%,transparent)}
.service-editorial .immersive-media>img,.service-editorial .supplied-timeline>img{object-position:center bottom;mask-image:none;-webkit-mask-image:none}
.service-editorial .immersive-shade{background:linear-gradient(180deg,#10120f 0%,#10120ff2 22%,#10120fe6 35%,#10120f80 48%,transparent 65%,#10120f 100%)}
.service-editorial .photography-composition{inset:90px -10% 0 -10%;align-items:end}.photography-composition .photo-panel{height:94%;margin-left:-8px}.photography-composition .photo-panel:nth-child(2){height:81%}.service-editorial .photo-panel img{object-fit:cover;object-position:50% top}
.service-editorial .wedding-composition{inset:110px -4% 0 -4%}.wedding-panel{inset:0 0 4%}.wedding-panel:nth-child(2){width:33%;height:24%;inset:auto 6% 8% auto;border-width:4px}
.service-editorial .editorial-service-block{display:flex;flex-direction:column;align-items:stretch;gap:28px}.editorial-service-visual{gap:12px}.editorial-service-visual:has(figure:nth-child(2)) figure:nth-child(2){margin-top:35px}.photographer-intro h2{font-size:30px}
}
.service-editorial .photography-composition .photo-panel{position:relative;overflow:hidden;clip-path:none;transform:skewX(-6deg)}
.service-editorial .photography-composition .photo-panel img{transform:skewX(6deg) scale(1.08)}
@media(min-width:701px){.service-editorial .photography-composition{inset-inline-start:34%;inset-inline-end:-1%}.service-editorial .photography-composition .photo-panel img{object-fit:contain;object-position:center;transform:skewX(6deg)}.service-editorial main[data-service="fotografia"] .immersive-shade{background:linear-gradient(90deg,#10120f 0%,#10120ff5 24%,#10120fc9 37%,#10120f44 51%,transparent 65%),linear-gradient(180deg,#10120f77,transparent 27%,transparent 73%,#10120f)}}
@media(max-width:700px){.service-editorial .photography-composition .photo-panel img{object-fit:contain;object-position:center bottom;transform:skewX(6deg)}.service-editorial .photography-composition{inset:100px -7% 0 -7%}}
.service-editorial .wedding-panel img{width:auto;max-width:100%;height:100%;margin-left:auto;mask-image:linear-gradient(90deg,transparent,#000 19%,#000 96%,transparent),linear-gradient(180deg,transparent,#000 15%,#000 78%,transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(90deg,transparent,#000 19%,#000 96%,transparent),linear-gradient(180deg,transparent,#000 15%,#000 78%,transparent);-webkit-mask-composite:source-in}
.service-editorial .wedding-panel:nth-child(2){border:0}.service-editorial .wedding-panel:nth-child(2) img{mask-image:linear-gradient(180deg,transparent,#000 12%,#000 85%,transparent);-webkit-mask-image:linear-gradient(180deg,transparent,#000 12%,#000 85%,transparent)}
.service-editorial .immersive-media>img,.service-editorial .supplied-timeline>img{inset:auto 0 auto auto;top:50%;width:auto;height:auto;max-height:92%;max-width:100%;transform:translateY(-50%);mask-image:linear-gradient(90deg,transparent,#000 20%,#000 95%,transparent),linear-gradient(180deg,transparent,#000 17%,#000 78%,transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(90deg,transparent,#000 20%,#000 95%,transparent),linear-gradient(180deg,transparent,#000 17%,#000 78%,transparent);-webkit-mask-composite:source-in}
@media(max-width:700px){.service-editorial .immersive-media>img,.service-editorial .supplied-timeline>img{top:auto;bottom:5%;transform:none}.service-editorial .wedding-panel img{width:100%;height:auto;position:absolute;bottom:5%;right:0}.service-editorial .wedding-panel:nth-child(2){bottom:4%}}
.service-editorial .photography-composition .photo-panel img{mask-image:linear-gradient(180deg,transparent,#000 14%,#000 82%,transparent);-webkit-mask-image:linear-gradient(180deg,transparent,#000 14%,#000 82%,transparent)}
.service-editorial .photography-composition .photo-panel:first-child{mask-image:linear-gradient(90deg,transparent,#000 45%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 45%)}
.service-editorial .photography-composition .photo-panel img{position:absolute;width:100%;height:auto;top:50%;left:0;transform:translateY(-50%) skewX(6deg)}
@media(max-width:700px){.service-editorial .photography-composition .photo-panel img{top:auto;bottom:13%;transform:skewX(6deg)}.service-editorial .photography-composition .photo-panel:first-child{mask-image:none;-webkit-mask-image:none}}
@media(max-width:700px){.service-editorial .immersive-hero{min-height:560px;padding-bottom:230px}.service-editorial .photography-composition .photo-panel img{bottom:18%}}
.service-editorial .immersive-hero .hero-content{isolation:isolate;transform:translateZ(0)}
