/* Magazine composition: images have individual scale, sequence and space. */
.magazine-edition .magazine-figure{margin:0;min-width:0;overflow:visible;background:none;border:0;border-radius:0}
.magazine-edition .magazine-figure img{display:block;position:static;width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;object-position:center;transform:none;filter:none;mask-image:none;-webkit-mask-image:none;border-radius:0}
.magazine-figure figcaption{font:400 10px/1.6 'DM Sans',sans-serif;color:#aeb5a6;letter-spacing:.13em;text-transform:uppercase;margin-top:15px}
.magazine-edition .magazine-spread{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(35px,7vw,110px);align-items:center;padding-block:75px;background:transparent}
.magazine-spread .magazine-copy{min-width:0}.magazine-spread .magazine-copy h2{font-size:clamp(30px,3vw,45px);line-height:1.13;max-width:20ch;margin-bottom:34px}
.magazine-spread .magazine-copy>.content-grid{display:grid;grid-template-columns:1fr;gap:24px}
.magazine-spread .magazine-copy article{padding:0 0 22px;background:none;border:0;border-bottom:1px solid #f2f0e920;border-radius:0;box-shadow:none;min-height:0}
.magazine-spread .magazine-copy article:last-child{border-bottom:0;padding-bottom:0}.magazine-spread .magazine-copy h3{font-size:23px;margin:9px 0 11px}.magazine-spread .magazine-copy p{font-size:15px;line-height:1.85;max-width:54ch}
.magazine-spread .magazine-copy .step-number,.magazine-spread .magazine-copy .item-index{font-size:11px;color:#d6fc78;letter-spacing:.1em}
.magazine-edition .magazine-spread.spread-reverse{grid-template-columns:1fr 1.15fr}.spread-reverse .magazine-copy{grid-column:2;grid-row:1}.spread-reverse>.magazine-figure{grid-column:1;grid-row:1}
.magazine-edition main[data-service="fotografia"] .magazine-spread>.magazine-figure{width:100%;max-width:365px;justify-self:center}
.magazine-edition main[data-service="video-aziendali"] .magazine-spread:first-of-type>.magazine-figure{max-width:330px;justify-self:center}
.magazine-edition main[data-service="matrimoni"] .magazine-spread>.magazine-figure{max-width:420px;justify-self:center}
.magazine-edition .magazine-intro{width:100%;max-width:none;margin:0;padding:55px 5% 45px;display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(30px,7vw,110px);align-items:start;text-align:left;background:none}
.magazine-intro h2{font-size:clamp(29px,3.1vw,44px);line-height:1.17;letter-spacing:-.035em;margin:0;max-width:17ch}.magazine-intro .photographer-bio{margin:0;max-width:48ch;line-height:1.85;font-size:16px}
/* Two portraits, two people, and no immediate repetitions in the following sections. */
.magazine-edition .magazine-photo-hero,.magazine-edition .magazine-wedding-hero,.magazine-edition .magazine-event-hero{position:absolute;inset:0 0 0 32%;height:100%;width:auto;display:block;padding:0;margin:0;mask-image:none;-webkit-mask-image:none}
.magazine-edition .magazine-hero-panel{position:absolute;overflow:visible;transform:none;background:none}
.magazine-edition .magazine-hero-panel img{position:static;width:100%;height:auto;max-width:none;max-height:none;transform:none;object-fit:contain;mask-image:linear-gradient(180deg,transparent,#000 14%,#000 84%,transparent);-webkit-mask-image:linear-gradient(180deg,transparent,#000 14%,#000 84%,transparent)}
.magazine-photo-hero .magazine-hero-panel:first-child{right:3%;top:3%;width:43%}.magazine-photo-hero .magazine-hero-panel:nth-child(2){left:6%;bottom:5%;width:27%}
.magazine-edition main[data-service="fotografia"] .immersive-shade{background:linear-gradient(90deg,#10120f 0%,#10120ff5 26%,#10120f99 41%,transparent 64%),linear-gradient(180deg,#10120f33,transparent 25%,transparent 82%,#10120f)}
.magazine-wedding-hero .magazine-hero-panel:first-child{right:3%;top:3%;width:43%}.magazine-wedding-hero .magazine-hero-panel:nth-child(2){left:0;bottom:7%;width:40%}
.magazine-event-hero .magazine-hero-panel{right:0;top:8%;width:100%}.magazine-event-hero .magazine-hero-panel img{mask-image:linear-gradient(90deg,transparent,#000 28%,#000 94%,transparent),linear-gradient(180deg,transparent,#000 18%,#000 83%,transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(90deg,transparent,#000 28%,#000 94%,transparent),linear-gradient(180deg,transparent,#000 18%,#000 83%,transparent);-webkit-mask-composite:source-in}
/* Generic visual support for planning a promotional film. */
.magazine-storyboard{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:48px;padding:32px 0;border-top:1px solid #f2f0e925}
.storyboard-panel{position:relative;display:flex;flex-direction:column;gap:18px;font:400 13px/1.6 'DM Sans',sans-serif}.storyboard-number{font-size:10px;letter-spacing:.14em;color:#d6fc78}.storyboard-shape{position:relative;display:block;height:130px;border:1px solid #d6fc7840;background:#d6fc7805}.storyboard-shape:before{content:'';position:absolute;inset:32% 30%;border:1px solid #d6fc78}.storyboard-panel:nth-child(2) .storyboard-shape:before{inset:20%;border-style:dashed}.storyboard-panel:nth-child(3) .storyboard-shape:before{inset:38% 12%;border:0;background:repeating-linear-gradient(90deg,#d6fc78 0 12%,transparent 12% 16%)}
/* Wedding case study: narrative spreads replace equal repeated diptychs. */
.magazine-edition .magazine-wedding-story{padding:65px 0;background:none;border:0;border-top:1px solid #f2f0e92a;border-radius:0;box-shadow:none}
.magazine-wedding-story .dossier-heading{margin:0 0 40px}.magazine-wedding-story .dossier-heading h2{font-size:clamp(35px,5vw,66px);line-height:1.1}
.magazine-wedding-story .wedding-opening{width:84%;margin:0 0 80px auto}
.magazine-wedding-story .wedding-chapter{display:grid;grid-template-columns:1fr 1.25fr;gap:clamp(30px,7vw,110px);margin:0 0 80px;align-items:center}
.magazine-wedding-story .wedding-chapter>article{background:none;border:0;padding:0;max-width:48ch}.magazine-wedding-story .wedding-chapter h3{font:500 clamp(26px,3vw,38px)/1.17 Syne,sans-serif;letter-spacing:-.035em;margin:0 0 23px;color:#f2f0e9}.magazine-wedding-story .wedding-chapter p{font-size:16px;line-height:1.85}
.magazine-wedding-story .chapter-preparativi>.magazine-figure{width:48%;min-width:190px;justify-self:center}
.magazine-wedding-story .chapter-cerimonia{display:block}.chapter-cerimonia>article{margin:0 0 32px}.magazine-wedding-story .chapter-cerimonia>.magazine-figure{width:100%}
.magazine-wedding-story .chapter-coppia{grid-template-columns:1.1fr 1fr}.magazine-wedding-story .chapter-coppia>.magazine-figure{width:75%;justify-self:start}.magazine-wedding-story .chapter-consegna{display:block}.chapter-consegna>article{margin:0 0 34px}.wedding-final-pair{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start}.wedding-final-pair>.magazine-figure:last-child{margin-top:65px}
/* Home uses authored crops selected at each breakpoint. */
.magazine-edition .wedding-cover{height:auto!important;aspect-ratio:8/5;min-height:0;background:none}
.magazine-edition .wedding-cover picture{display:block;width:100%;height:100%}.magazine-edition .wedding-cover img{width:100%;height:100%;object-fit:fill;object-position:center;transform:none!important}
@media(min-width:701px) and (max-width:1000px){
.magazine-edition .magazine-spread,.magazine-edition .magazine-spread.spread-reverse{grid-template-columns:1fr 1fr;gap:30px;padding-block:55px}.magazine-spread .magazine-copy h2{font-size:31px}.magazine-spread .magazine-copy h3{font-size:21px}.magazine-spread .magazine-copy p{font-size:14px;line-height:1.75}
.magazine-edition .magazine-photo-hero,.magazine-edition .magazine-wedding-hero{inset-inline-start:31%}.magazine-photo-hero .magazine-hero-panel:first-child,.magazine-wedding-hero .magazine-hero-panel:first-child{width:52%;top:12%}.magazine-photo-hero .magazine-hero-panel:nth-child(2){width:32%;left:0;bottom:10%}
.magazine-edition .magazine-intro{grid-template-columns:1fr 1.2fr;gap:35px}.magazine-wedding-story .wedding-opening{width:100%;margin-bottom:55px}.magazine-wedding-story .wedding-chapter{gap:35px;margin-bottom:55px}.magazine-wedding-story .chapter-preparativi>.magazine-figure{width:70%;min-width:0}.magazine-wedding-story .chapter-coppia>.magazine-figure{width:100%}.magazine-edition .wedding-cover{aspect-ratio:3/2}
}
@media(max-width:700px){
.magazine-edition .immersive-hero{padding-bottom:0;min-height:0;display:flex;flex-direction:column;align-items:stretch}
.magazine-edition .magazine-photo-hero,.magazine-edition .magazine-wedding-hero,.magazine-edition .magazine-event-hero{position:relative;inset:auto;width:111.12%;margin:-15px -5.56% 0;height:335px;aspect-ratio:auto;flex:none}
.magazine-photo-hero .magazine-hero-panel:first-child{width:47%;right:4%;top:0}.magazine-photo-hero .magazine-hero-panel:nth-child(2){width:32%;left:7%;bottom:0}
.magazine-wedding-hero .magazine-hero-panel:first-child{width:47%;right:5%;top:0}.magazine-wedding-hero .magazine-hero-panel:nth-child(2){width:44%;left:3%;bottom:13%}
.magazine-edition main[data-service="fotografia"] .immersive-shade,.magazine-edition main[data-service="matrimoni"] .immersive-shade,.magazine-edition main[data-service="eventi"] .immersive-shade{display:none}
.magazine-event-hero .magazine-hero-panel{top:0;width:100%}.magazine-edition .magazine-event-hero{height:auto;min-height:215px;margin-top:10px}.magazine-edition .magazine-event-hero .magazine-hero-panel{position:relative}
.magazine-edition .magazine-intro{display:block;padding-block:27px 37px}.magazine-intro h2{font-size:31px;margin-bottom:24px}.magazine-intro .photographer-bio{font-size:15px;max-width:37ch}
.magazine-edition .magazine-spread,.magazine-edition .magazine-spread.spread-reverse{display:flex;flex-direction:column;gap:30px;padding-block:43px;align-items:stretch}.magazine-spread .magazine-copy h2{font-size:30px;margin-bottom:26px}.magazine-spread .magazine-copy h3{font-size:22px}.magazine-spread .magazine-copy p{font-size:15px;line-height:1.8}
.magazine-edition main[data-service="fotografia"] .magazine-spread>.magazine-figure{max-width:295px;align-self:center}.magazine-edition main[data-service="matrimoni"] .magazine-spread>.magazine-figure{max-width:330px;align-self:center}
.magazine-spread .magazine-copy>.content-grid{gap:18px}.magazine-spread .magazine-copy article{padding-bottom:20px}.magazine-figure figcaption{font-size:9px;letter-spacing:.1em;margin-top:12px}
.magazine-storyboard{gap:13px;margin-top:30px;padding-top:24px}.storyboard-shape{height:85px}.storyboard-panel{font-size:11px;gap:12px}
.magazine-edition .magazine-wedding-story{padding-block:45px}.magazine-wedding-story .dossier-heading{margin-bottom:28px}.magazine-wedding-story .dossier-heading h2{font-size:38px}.magazine-wedding-story .wedding-opening{width:100%;margin-bottom:40px}
.magazine-wedding-story .wedding-chapter{display:flex;flex-direction:column;align-items:stretch;gap:28px;margin-bottom:43px}.magazine-wedding-story .wedding-chapter h3{font-size:28px;margin-bottom:19px}.magazine-wedding-story .wedding-chapter p{font-size:15px;line-height:1.8}
.magazine-wedding-story .chapter-preparativi>.magazine-figure{width:57%;min-width:0;align-self:flex-end}.magazine-wedding-story .chapter-coppia>.magazine-figure{width:82%;align-self:center;order:2}.magazine-wedding-story .chapter-coppia>article{order:1}.magazine-wedding-story .chapter-cerimonia>article,.magazine-wedding-story .chapter-consegna>article{margin-bottom:0}
.wedding-final-pair{grid-template-columns:1fr;gap:23px}.wedding-final-pair>.magazine-figure:first-child{width:82%}.wedding-final-pair>.magazine-figure:last-child{margin-top:0;width:100%}
.magazine-edition .wedding-cover{aspect-ratio:4/3}
}
@media(prefers-reduced-motion:reduce){.magazine-edition *{scroll-behavior:auto;animation:none!important}}
.magazine-photo-hero .magazine-hero-panel:nth-child(2){mask-image:linear-gradient(90deg,transparent,#000 28%,#000 97%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 28%,#000 97%,transparent)}
@media(max-width:700px){.magazine-photo-hero .magazine-hero-panel:nth-child(2){mask-image:none;-webkit-mask-image:none}}
.event-editorial-pair{display:grid;gap:24px;grid-template-columns:1fr}.event-editorial-pair>.magazine-figure:first-child{width:78%;justify-self:start}.event-editorial-pair>.magazine-figure:last-child{width:90%;justify-self:end}
@media(max-width:700px){.event-editorial-pair{gap:23px}.event-editorial-pair>.magazine-figure:first-child{width:82%}.event-editorial-pair>.magazine-figure:last-child{width:100%}}
@media(max-width:700px){
.magazine-edition main[data-service="video-aziendali"] .immersive-media,.magazine-edition main[data-service="video-promozionali"] .service-vector{position:relative;inset:auto;width:111.12%;height:255px;margin:-10px -5.56% 0;padding:0;aspect-ratio:auto;mask-image:none;-webkit-mask-image:none}
.magazine-edition main[data-service="video-aziendali"] .immersive-shade,.magazine-edition main[data-service="video-promozionali"] .immersive-shade{display:none}
.magazine-edition main[data-service="video-aziendali"] .immersive-media>img{width:100%;height:auto;max-height:none;max-width:none;position:absolute;bottom:0;top:auto;right:0;transform:none}
.magazine-edition main[data-service="video-promozionali"] .service-vector>svg{width:100%;height:100%;max-height:none}
}
.magazine-edition .pop-project-grid{grid-template-rows:auto auto}
@media(max-width:700px){.magazine-edition .pop-project-grid{grid-template-rows:auto}}
