/* Papo Digital — viewport safety and responsive edges, 2026-10-22 */
/* Fix layout at the source: constrain section children, not only the document overflow. */
html{width:100%;max-width:100%;overflow-x:clip}
body{width:100%;max-width:100%;min-width:0;overflow-x:clip}
main,main>section,.hero,.hero>.w,.footer,.sticky{min-width:0;max-width:100%}
.w{width:min(1120px,calc(100% - 36px))!important;max-width:calc(100% - 36px)!important;margin-inline:auto!important}
.hero-grid,.hero-grid>*,.atelier-stage>*,.atelier-intro>*,.atelier-content,.pd-ecosystem-stage>*,.pd-evidence-art>*,.evidence-canvas>*,.work-layout>*,.showcase-layout>*,.pd-builder-stage>*,.studio-builder-layout>*,.contact-grid>*,.pd-process-track>*,.pd-offer>*{min-width:0}
img,svg,video,canvas{max-width:100%}
.hero.papo-cinematic,.atelier,.pd-ecosystem,.showcase,.experience,.pd-evidence,.pd-process,.pd-offers,.section,.footer{overflow-x:clip}
.papo-hero-scene,.papo-cinematic-work .work-scene,.atelier-art,.pd-universe,.pd-evidence-main,.evidence-hero{overflow:hidden}
.hero.papo-cinematic h1,.atelier-intro h2,.pd-section-lead h2,.work-head h2,.evidence-heading h2,.pd-process-head h2,.pd-offers-intro h2{max-width:100%;overflow-wrap:break-word}
.papo-cinematic-work .work-browser{max-width:calc(100% - 24px)!important}
.papo-cinematic-work .work-info h3,.papo-cinematic-work .work-info p{overflow-wrap:anywhere}
.pd-builder-plans button,.pd-builder-addons label,.pd-builder-result,.studio-builder-options,.studio-builder-result{min-width:0}
.pd-builder-number,.studio-builder-result strong{max-width:100%;overflow-wrap:break-word}
.form input,.form select,.form textarea{min-width:0;max-width:100%}
.sticky{width:100%;max-width:100vw;left:0;right:0;box-sizing:border-box;z-index:50}
.sticky a{min-width:0}
@media(max-width:900px){
.atelier-intro,.pd-section-lead,.work-head,.evidence-heading,.pd-process-head,.pd-offers-intro{max-width:100%}
.pd-ecosystem-stage,.atelier-stage,.evidence-canvas,.pd-evidence-art,.pd-builder-stage,.contact-grid{max-width:100%;min-width:0}
.papo-cinematic-work .work-layout{width:100%;max-width:100%}
}
@media(max-width:600px){
.w{width:calc(100% - 28px)!important;max-width:calc(100% - 28px)!important}
.hero.papo-cinematic .hero-grid{width:100%;max-width:100%;padding-inline:0!important}
.hero.papo-cinematic h1{font-size:clamp(39px,10.2vw,57px)!important;letter-spacing:-.06em!important;overflow-wrap:normal}
.hero.papo-cinematic .hero-grid>div:first-child{max-width:100%!important;width:100%}
.hero.papo-cinematic .hero-grid>div:first-child>p:last-of-type{display:flex!important;flex-wrap:wrap!important;gap:12px!important}
.papo-hero-scene{width:100%!important;max-width:100%!important;min-width:0!important;overflow:hidden!important}
.papo-scene-index,.papo-scene-badge{max-width:48%;white-space:normal;overflow-wrap:anywhere}
.papo-cinematic-work .work-scene{width:100%;max-width:100%;padding-inline:12px!important}
.papo-cinematic-work .work-browser{width:min(86%,calc(100% - 18px))!important;max-width:100%!important}
.papo-cinematic-work .work-info{width:100%;max-width:100%;padding-inline:20px!important}
.papo-cinematic-work .work-info h3{font-size:clamp(37px,10vw,52px)!important}
.papo-cinematic-work .work-switch button{max-width:100%}
.atelier-art,.atelier-content,.pd-universe,.pd-system-description,.evidence-hero,.evidence-story,.pd-builder-options,.pd-builder-result{width:100%;max-width:100%;min-width:0}
.atelier-content{padding-inline:18px!important}
.pd-planet{max-width:46%;min-width:0!important}
.pd-planet b{overflow-wrap:break-word}
.pd-offer{grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important}
.pd-offer strong{font-size:clamp(22px,6.4vw,32px)!important}
.pd-builder-result{padding-inline:20px!important}
.pd-builder-number{font-size:clamp(48px,13vw,75px)!important;white-space:normal!important}
.pd-builder-plans button{width:100%;max-width:100%}
.sticky{padding:9px max(9px,env(safe-area-inset-right)) calc(9px + env(safe-area-inset-bottom)) max(9px,env(safe-area-inset-left))!important}
.sticky a{white-space:nowrap}
.footer{padding-bottom:calc(95px + env(safe-area-inset-bottom))}
}
@media(max-width:360px){.w{width:calc(100% - 24px)!important;max-width:calc(100% - 24px)!important}.hero.papo-cinematic h1{font-size:38px!important}.papo-cinematic-work .work-info{padding-inline:14px!important}}
