/* v3.7.0 — content-sized layouts, safe tablet grids and responsive connectors. */
main :is(section,article,aside,header,figure,fieldset,details,summary,div){min-inline-size:0}
main :is(h1,h2,h3,p,li,dd,dt,label,summary){overflow-wrap:break-word}
main :is(img,video){max-inline-size:100%;height:auto;object-fit:contain}
main :is(a,button){touch-action:manipulation}
.zp :is(.zp-heading,.zp-cta,.zx-crosslinks,.zd-contact,.zu-contact-note){min-width:0}
.zp :is(.zp-grid,.za-value-grid,.zx-module-grid,.zc-entry-grid,.zs-industry-grid,.zt-detail-grid)>*{min-width:0;max-width:100%}
.zp :is(.zc-record,.zw-brief,.zx-handover) :is(dt,dd){overflow-wrap:anywhere}
.zp .zp-small{font-size:13px!important;line-height:1.7!important}
.zp figcaption{font-size:12px;line-height:1.6}
.zp .za-value-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.zp .zs-industry-detail h3{font-size:15px;margin:18px 0 5px}
.zp .zs-industry-detail p{font-size:15px;line-height:1.7;margin-top:0}
.zp :is(.zp-hero h1,.za-hero h1,.zc-hero h1,.zw-hero h1,.zx-hero h1){text-wrap:balance}
.zp :is(.zm-server-form label,.zm-form-consent){line-height:1.6}
.zp .zm-server-form :is(input,select,textarea){font-size:16px;min-width:0;max-width:100%}
.zp .zm-server-form .zm-form-consent{align-items:flex-start}
.zp .zm-form-consent input{margin-top:4px;flex-shrink:0}
.zp .zp-cta .button-row{min-width:0;max-width:100%}
.zp .button{white-space:normal;text-align:center;line-height:1.5}
.hp-portal :is(.hp-main,.hp-panel,.hp-detail,.hp-lead-row,.hp-booking,.hp-call-row){min-width:0}
.hp-portal :is(p,span,strong,dd,dt){overflow-wrap:break-word}
.hp-portal summary{white-space:normal}
.hp-portal .hp-tabs{flex-wrap:wrap}
/* Tablet content reflows before a narrow column can squeeze the workspace or a form. */
@media(max-width:1100px){
 .zp :is(.zx-hero,.zx-team,.zx-scope-grid,.zc-qualify,.zc-follow,.zw-middle,.zw-finish,.za-night,.zd-layout,.zu-layout,.zt-request){grid-template-columns:minmax(0,1fr)}
 .zp .zp-heading{display:block}.zp .zp-heading>p{max-width:760px}
 .zp .zp-cta{display:block}.zp .zp-cta .button-row{margin-top:20px;flex-wrap:wrap;flex-direction:row}
 .zp .zx-hero h1{font-size:clamp(34px,5vw,50px);max-width:850px}
 .zp :is(.zw-brief,.zc-record,.zc-hours){width:100%;max-width:760px;margin-inline:auto}
}
@media(max-width:900px){
 .zp :is(.za-value-grid,.zp-three,.zp-two,.zc-entry-grid,.zc-scope-grid,.zw-setup-grid,.zx-module-grid,.zt-detail-grid){grid-template-columns:minmax(0,1fr)}
 .zp .zp-hero-split h1{font-size:clamp(32px,5.5vw,46px)}
 .zp :is(.zp-section,.zp-hero,.za-hero,.zu-page,.zd-demo,.zt-trial){height:auto;min-height:0}
 .zp .zp-hero-split{align-items:start}
 .hp-portal .hp-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}
}
/* Keep all mobile/tablet hero context in normal flow, never in narrow side tiles. */
@media(max-width:1020px){
 .zm-home-v6 .hero-grid{display:block;padding-top:24px}
 .zm-home-v6 .experience{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0 0;height:auto;min-height:0}
 .zm-home-v6 .experience :is(.mobile-photo,.experience-heading,.scenario-picker,.voice-object,.product-window,.customer-update,.experience-note){grid-column:1/-1;position:static;inset:auto;transform:none;max-width:100%;width:100%}
 .zm-home-v6 .experience .mobile-photo{max-height:340px;width:100%;height:auto;object-fit:contain;order:0}
 .zm-home-v6 .experience .experience-heading{flex-wrap:wrap;order:1}
 .zm-home-v6 .experience .scenario-picker{flex-wrap:wrap;order:2}
 .zm-home-v6 .experience .enquiry-object{order:3;grid-column:1}
 .zm-home-v6 .experience .booking-object{order:4;grid-column:2}
 .zm-home-v6 .experience .voice-object{order:5}
 .zm-home-v6 .experience .human-object{order:6;grid-column:1}
 .zm-home-v6 .experience .notification-object{order:7;grid-column:2}
 .zm-home-v6 .experience .product-window{order:8}
 .zm-home-v6 .experience .customer-update{order:9;margin:0}
 .zm-home-v6 .experience .experience-note{order:10;font-size:12px;line-height:1.6}
 .zm-home-v6 .experience .product-window :is(strong,p,span){overflow-wrap:break-word}
 .zm-home-v6 .experience .workspace-result{min-height:84px}
}
@media(max-width:700px){
 #story-parallel-visual .parallel-stage{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 26px;height:auto!important;min-height:0!important;padding:0 0 10px;isolation:isolate}
 #story-parallel-visual .parallel-stage::before{display:none!important}
 #story-parallel-visual .parallel-stage .parallel-center{position:relative!important;inset:auto!important;transform:none!important;grid-column:1/-1;justify-self:center;width:104px!important;max-width:none;height:104px!important;aspect-ratio:1;margin:0!important}
 #story-parallel-visual .parallel-stage .caller-node{position:relative!important;inset:auto!important;transform:none!important;width:100%!important;min-height:70px;max-width:100%!important;padding:10px 8px!important;gap:7px}
 #story-parallel-visual .caller-node strong{font-size:12px;line-height:1.4}
 #story-parallel-visual .caller-node span[id]{font-size:11px;line-height:1.5}
 #story-parallel-visual .caller-avatar{width:23px;height:23px;font-size:10px;flex-shrink:0}
 #story-parallel-visual .parallel-connectors{display:block!important;position:absolute!important;inset:0;width:100%;height:100%;z-index:0;overflow:visible;pointer-events:none}
 .connector-controls{flex-wrap:wrap;gap:12px}.connector-controls button{min-height:44px}
 .home-parallel-restored .story-visual-note,.home-parallel-restored .home-fine{font-size:12px!important;line-height:1.65!important}
 .zp .zp-cta .button-row{flex-direction:column;align-items:stretch}
 .zp :is(.zs-industry-nav,.ze-industry-links){gap:8px}.zp :is(.zs-industry-nav a,.ze-industry-links a){min-height:44px;display:inline-flex;align-items:center}
}
@media(max-width:480px){
 .zm-home-v6 .experience .floating-object{padding:10px 8px;gap:6px;font-size:12px;min-height:52px;white-space:normal}
 .zm-home-v6 .experience .floating-object .object-icon{flex-shrink:0}
 .zm-home-v6 .experience .experience-heading .sample-tag{font-size:11px}
 .zm-home-v6 .experience .scenario-picker button{font-size:12px;padding:10px 8px;min-height:44px}
 .zm-home-v6 .metrics{gap:8px}.zm-home-v6 .metric{min-width:0}
 .zm-home-v6 .metric span{font-size:12px;line-height:1.5}
 .hp-portal .hp-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
 .zp :is(.zs-industry-grid,.zc-source-grid,.zp-contact-grid){grid-template-columns:minmax(0,1fr)}
 .zp .zp-cta{padding:22px}.zp .zp-tab-panels{padding:18px}
 .zp :is(.zc-record dl>div,.zw-brief dl>div){grid-template-columns:minmax(0,1fr);gap:4px}
}
/* Do not depend on CSS motion-path, masks or SMIL for essential information. */
@media(prefers-reduced-motion:reduce){main *,main *::before,main *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Preview content grows with expanded details instead of trapping text in a fixed panel. */
.hp-portal .hp-panel{height:auto!important;max-height:none!important;min-height:0;overflow:visible!important}
.hp-portal .hp-frame,.hp-portal .hp-main{height:auto!important;max-height:none!important}
@media(max-width:900px){
 .hp-portal .hp-table-wrap{overflow:visible;max-width:100%}
 .hp-portal .hp-panel table{display:block;min-width:0;width:100%}
 .hp-portal .hp-panel thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .hp-portal .hp-panel tbody{display:grid;gap:12px}
 .hp-portal .hp-panel tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border:1px solid #406475;border-radius:10px;padding:12px;background:#17394a}
 .hp-portal .hp-panel td{display:block;border:0;padding:0;font-size:12px;min-width:0;overflow-wrap:anywhere}
 .hp-portal .hp-panel td:first-child{grid-column:1/-1;font-weight:700;font-size:14px}
 .hp-portal .hp-panel td:nth-child(2)::before{content:'Requirement';display:block;color:#c4dedf;font-size:11px;font-weight:400}
 .hp-portal .hp-panel td:nth-child(3)::before{content:'Stage';display:block;color:#c4dedf;font-size:11px;font-weight:400}
 .hp-portal .hp-panel td:nth-child(4)::before{content:'Priority';display:block;color:#c4dedf;font-size:11px;font-weight:400}
 .hp-portal .hp-panel td small{font-size:11px;color:#c4dedf}
 .hp-portal .hp-intelligence{grid-template-columns:minmax(0,1fr)}
 .hp-portal .hp-panel{padding:16px}
}
/* Explicit ink for the dark workspace: do not inherit the light-page text color. */
.hp-portal .hp-panel :is(td,td small){color:#e4f2ef}
.hp-portal .hp-panel th{color:#c4dedf}
.hp-portal .hp-tab{font-size:12px;line-height:1.5;min-height:44px;display:inline-flex;align-items:center;justify-content:center;white-space:normal;text-align:center}
.hp-portal :is(.hp-breadcrumb,.hp-search){font-size:12px;line-height:1.6;flex-wrap:wrap;gap:8px}
.hp-portal .hp-kpis>div{font-size:11px;line-height:1.6}
.hp-portal .hp-panel p{color:#d8eae8}
.hp-portal .hp-panel td small{color:#c4dedf}
@media(max-width:900px){.hp-portal .hp-sidebar{display:none}.hp-portal .hp-frame{grid-template-columns:minmax(0,1fr)}.hp-portal .hp-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1024px){
 .home-size-cards .business-size-grid{grid-template-columns:minmax(0,1fr)}
 .home-size-cards .business-size-grid summary{min-width:0}
 .home-size-cards .business-size-grid summary>span{min-width:0}
 .home-size-cards .business-size-grid summary strong{overflow-wrap:break-word;white-space:normal}
}
