/* Responsive scene component. No dependency on previous entry/cover rules. */
body.home{min-height:100svh;display:flex;flex-direction:column;background:#111015}
body.home .dm-footer{margin-top:auto}body.home .dm-prose{background:#f6f6f8;color:#111}
.dm-portal{background:#100e13;color:white}
.dm-portal-kicker{margin:0;padding:14px 20px;text-align:center;font:600 11px/1.5 system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;overflow-wrap:anywhere}
.dm-portal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px}
.dm-scene{display:grid;isolation:isolate;position:relative;min-width:0;color:#fff;background:#100e13}
.dm-scene-photo{grid-area:1/1;display:block;width:100%;height:100%;min-height:0;aspect-ratio:3/2;object-fit:cover;object-position:var(--photo-position,50% 20%)}
.dm-scene::after{content:"";grid-area:1/1;z-index:1;pointer-events:none;background:linear-gradient(90deg,#0005,transparent 40%)}
.dm-scene-copy{grid-area:1/1;z-index:2;align-self:center;min-width:0;width:28%;margin:4%;overflow-wrap:anywhere;text-shadow:0 2px 16px #0008}
.dm-scene-copy h1,.dm-scene-copy h2{font-size:clamp(23px,2.2vw,44px);line-height:1.08;margin:0 0 20px;letter-spacing:-.025em}
.dm-scene-ridiamoci h1,.dm-scene-ridiamoci h2{font-family:Georgia,serif;font-style:italic}
.dm-scene-animagix{--brand-primary:#ffb000;background:#0e1229}
.dm-scene-animagix h1,.dm-scene-animagix h2{color:#ffcc32}
.dm-scene-copy p{font-size:clamp(14px,1.05vw,21px);line-height:1.45;margin:0 0 24px;max-width:24ch}
.dm-scene .dm-btn{font-size:clamp(12px,.85vw,16px);line-height:1.3;min-height:48px;padding:13px 19px;gap:10px;max-width:100%;text-align:center;text-shadow:none;border:1px solid #ffffff50;white-space:normal}
.dm-scene-ridiamoci .dm-btn{color:#fff}.dm-scene-logo{display:block;width:auto;max-width:100%;max-height:110px;object-fit:contain;margin:0 0 22px}
.dm-scene-section .dm-scene-copy{width:28%;margin:5%}
.dm-scene-section .dm-scene-photo{aspect-ratio:2/1}
.dm-scene-section h1{font-size:clamp(32px,4vw,64px)}
.dm-scene-section p{font-size:clamp(16px,1.6vw,26px)}
.dm-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
@media(max-width:1199px){.dm-portal-grid{grid-template-columns:1fr}.dm-scene-home .dm-scene-copy h2{font-size:clamp(28px,4.4vw,44px)}.dm-scene-home .dm-scene-copy p{font-size:clamp(16px,2vw,21px)}.dm-scene .dm-btn{font-size:14px}}
@media(max-width:700px){
 .dm-portal-kicker{font-size:10px;padding:12px 18px}.dm-portal-grid{gap:2px}
 .dm-scene{display:block}.dm-scene::after{display:none}
 .dm-scene .dm-scene-photo{height:auto;aspect-ratio:auto;object-fit:contain}
 .dm-scene .dm-scene-copy{position:relative;width:auto;max-width:none;margin:-22px 0 0;padding:0 24px 30px;align-self:auto;background:inherit;text-shadow:none}
 .dm-scene-copy::before{content:"";position:absolute;left:0;right:0;top:-50px;height:50px;background:linear-gradient(transparent,#100e13);pointer-events:none}
 .dm-scene-animagix .dm-scene-copy::before{background:linear-gradient(transparent,#0e1229)}
 .dm-scene .dm-scene-copy h1,.dm-scene .dm-scene-copy h2{font-size:32px;line-height:1.1;margin:0 0 12px}
 .dm-scene .dm-scene-copy p{display:block;font-size:17px;line-height:1.45;max-width:38ch;margin:0 0 20px}
 .dm-scene .dm-btn{font-size:14px;min-height:48px;padding:13px 22px}
 .dm-scene-logo{max-height:80px;max-width:240px;margin-bottom:16px}
 .dm-footer-row{flex-direction:column;align-items:flex-start;gap:20px}.dm-footer-row nav{gap:20px}
}
