/* ZeromileAI 3.5.0: intrinsic media sizing and responsive layout containment. */
:root{--zm-page-gutter:clamp(18px,3vw,36px);--zm-media-height:min(400px,calc(100svh - 160px));--zm-layout-gap:clamp(20px,3vw,36px)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:100px}
main{min-inline-size:0}
main :is(img,video,iframe){max-inline-size:100%}
main img{height:auto;object-fit:contain}
main :is(figure,picture){min-inline-size:0;max-inline-size:100%}
/* Foreground illustrations retain every edge of the source image. Decorative
   faded scenery remains a background and does not determine content size. */
.zp img,.entry-content img{display:block;inline-size:auto;max-inline-size:100%;block-size:auto;max-block-size:var(--zm-media-height);min-block-size:0;aspect-ratio:auto;object-fit:contain;object-position:center;margin-inline:auto;transform:none}
.zp :is(.zp-hero-image,.zu-image,.zd-visual,.zr-cover-image,.zs-evening figure,.zp-human figure){min-inline-size:0;max-inline-size:100%;height:auto;align-self:start;background:#eef3e8;transform:none}
.zp :is(.zp-hero-image,.zu-image,.zd-visual,.zr-cover-image,.zp-human figure)>img{inline-size:100%;block-size:auto;max-block-size:var(--zm-media-height);min-block-size:0;object-fit:contain}
.zp .zs-evening figure{align-self:center;justify-content:center;overflow:visible}
.zp .zs-evening img{inline-size:100%;height:auto;min-height:0;max-block-size:var(--zm-media-height);aspect-ratio:auto;object-fit:contain;flex:0 0 auto}
.zp .zs-evening{align-items:center}
.zp .zs-image{background:#eef3e8}
.zp .zs-image img{inline-size:100%;height:auto;aspect-ratio:auto;max-block-size:var(--zm-media-height);object-fit:contain;transform:none!important;transition:none}
.zp .zs-industry summary:hover .zs-image img{transform:none}
.zp .zp-wrap{width:min(1180px,calc(100% - var(--zm-page-gutter)*2));margin-inline:auto}
.zp :is(.zp-hero-split,.zp-human,.zu-layout,.zd-layout,.zu-receipt-grid,.zr-cover,.zs-hero,.zs-response,.zt-request){gap:var(--zm-layout-gap)}
.zp :is(.zp-hero-split,.zp-human,.zu-layout,.zd-layout,.zu-receipt-grid,.zr-cover,.zs-hero,.zs-response,.zt-request)>*,.zp :is(.zs-industry-grid,.zp-grid,.zp-grid-3,.zp-grid-2,.zp-contact-grid)>*{min-width:0;max-width:100%}
.zp :is(p,li,figcaption,label,h1,h2,h3){overflow-wrap:break-word}
.zp :is(.zp-hero-copy,.zu-heading,.zd-heading) p{line-height:1.7}
.zp :is(.zu-page,.zd-demo,.zr-start){padding-block:clamp(24px,3vw,38px)}
.zp :is(.zp-section,.ze-health,.ze-response){scroll-margin-top:100px}
.zp :is(.zu-page,.zd-demo,.zr-start)::before{inset-inline:calc(-1 * var(--zm-page-gutter));border-radius:0;background-color:#fbf8ef}
.za-about .za-hero::before{inset-inline:calc(-1 * var(--zm-page-gutter));border-radius:0}
.zp .zs-industry-copy>strong{min-height:0}
.zp :is(input,select,textarea){max-width:100%;min-width:0}
.zp .zm-server-form :is(input,select,textarea){font-size:16px}
.zp .zm-server-form :is(label,.zm-form-consent){min-width:0}
.zp .zm-server-form .zm-form-consent input{flex:0 0 20px}
.zp .zm-server-form :is(a,.form-note){overflow-wrap:anywhere}
/* Never zoom or crop a film thumbnail or the mobile hero photograph. */
.zm-home-v6 .film-preview-image img{object-fit:contain;transform:none}
.zm-home-v6 .experience .mobile-photo{inline-size:100%;height:auto;max-block-size:var(--zm-media-height);min-height:0;object-fit:contain;object-position:center;margin-inline:0}
.zm-home-v6 .film-dialog #story-video{object-fit:contain}
@media(max-width:900px){
 .zp :is(.zp-hero-split,.zp-human,.zu-layout,.zd-layout,.zu-receipt-grid,.zr-cover,.zs-hero,.zs-evening,.zs-response,.zt-request){grid-template-columns:minmax(0,1fr)}
 .zp :is(.zp-hero-image,.zu-image,.zd-visual,.zr-cover-image,.zp-human figure){width:100%;max-width:620px;margin-inline:auto}
 .zp .zs-evening{gap:0}.zp .zs-evening figure{width:100%}
 .zp .zs-evening img{max-height:min(320px,var(--zm-media-height))}
 .zp :is(.zu-contact-note,.zd-contact){flex-wrap:wrap;gap:14px}
 .zp .zp-heading{flex-wrap:wrap;gap:12px}
}
@media(max-width:600px){
 :root{--zm-page-gutter:18px;--zm-media-height:min(300px,calc(100svh - 144px));--zm-layout-gap:22px}
 .zp :is(.zp-hero,.za-hero){padding-block:28px}
 .zp :is(.zp-hero h1,.za-hero h1,.zs-hero h1,.zd-heading h1,.zu-heading h1){font-size:clamp(30px,8.5vw,40px);line-height:1.16}
 .zp :is(.zs-evening-copy,.zs-response,.zt-request){padding:20px!important}
 .zp :is(.zd-form,.zu-form,.zp-form-card){padding:18px}
 .zp :is(.zs-industry-grid,.zs-fit-grid,.zp-contact-grid){grid-template-columns:minmax(0,1fr)}
 .zp :is(.zu-page,.zd-demo,.zr-start)::before,.za-about .za-hero::before{border-radius:0}
 .zp .zs-evening img{max-height:var(--zm-media-height)}
}
@media(max-height:500px) and (orientation:landscape){:root{--zm-media-height:calc(100svh - 128px)}.film-dialog #story-video{max-height:calc(100dvh - 150px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.film-preview{transition:none;transform:none!important}}

/* Fade decorative scenery into the shared cream page surface. */
.zp :is(.zu-page,.zd-demo,.zr-start)::before,.za-about .za-hero::before{mask-image:linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 24px),transparent)}

/* One enclosing card per form: avoid nested borders and wasted field space. */
.zp .zm-server-form{margin:0;padding:0;border:0;box-shadow:none;max-width:none}

/* v3.5.1: opening composition based on the approved Thank You page. */
.zp .zm-entry-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:32px;padding:0 0 24px}
.zp .zm-entry-hero :is(.zu-heading,.zd-heading){margin:0;max-width:none}
.zp .zm-entry-hero h1{font-size:clamp(32px,3.25vw,44px);line-height:1.13;margin:10px 0 15px}
.zp .zm-entry-hero :is(.zu-heading,.zd-heading)>p:last-of-type{font-size:15px;line-height:1.65;margin:0 0 16px;max-width:560px}
.zp .zm-entry-hero figure{margin:0;width:100%;max-width:560px;align-self:center}
.zp .zm-entry-hero figure img{width:100%;height:auto;max-height:min(330px,calc(100svh - 210px));object-fit:contain}
.zp .zm-entry-hero figcaption{font-size:10px;padding:9px 13px;line-height:1.5}.zp .zm-entry-hero .zd-visual figcaption{font-size:12px}.zp .zm-entry-hero .zd-visual figcaption small{font-size:9px;margin-top:3px}
.zp .zm-form-jump{display:inline-flex;align-items:center;min-height:38px;padding:8px 14px;border:1px solid #438c82;border-radius:8px;background:#e2eee1;color:#134d4c;font-size:13px;font-weight:700;text-decoration:none}
.zp :is(.zu-layout,.zd-layout){padding-top:18px;border-top:1px solid #aec5b8}.zp :is(.zu-form,.zd-form){scroll-margin-top:100px}
/* Solutions: reduce opening heading footprint, retain all story content. */
.zp .zs-hero{padding:22px 0 18px;gap:28px;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
.zp .zs-hero h1{font-size:clamp(29px,2.85vw,39px);line-height:1.13;margin:8px 0}
.zp .zs-hero>div>p:not(.eyebrow){font-size:14px;line-height:1.65;margin:0 0 8px}
.zp .zs-evening-copy{padding:20px 24px}.zp .zs-evening h2{font-size:clamp(25px,2.5vw,33px);line-height:1.16;margin:8px 0 12px}.zp .zs-evening p{font-size:13px;line-height:1.65}.zp .zs-evening ol{margin-top:12px}.zp .zs-evening li{padding-bottom:10px;font-size:12px}.zp .zs-evening li strong{font-size:12px}.zp .zs-evening li span{font-size:10px}.zp .zs-evening .zs-evening-note{font-size:10px;line-height:1.5}.zp .zs-evening img{max-height:min(290px,calc(100svh - 270px));width:100%;height:auto;object-fit:contain}.zp .zs-evening figcaption{padding:8px 12px;line-height:1.5}
/* Trial details get an opaque high-contrast surface, including expanded lists. */
#free-trial .trial-card .ux-trial-inclusions{background:#fffaf0!important;border:1px solid #88aa98;border-radius:9px;padding:0;color:#173f49!important}
#free-trial .trial-card .ux-trial-inclusions :is(summary,li,span,p,strong){color:#173f49!important;opacity:1!important;text-shadow:none}
#free-trial .trial-card .ux-trial-inclusions .icon{color:#086f68!important;opacity:1;width:16px;height:16px;flex-shrink:0}
#free-trial .trial-card .ux-trial-inclusions summary{font-size:12px;line-height:1.4;padding:9px 11px;min-height:36px}
#free-trial .trial-card .ux-trial-inclusions ul{margin:0;padding:0 11px 9px;list-style:none}
#free-trial .trial-card .ux-trial-inclusions li{font-size:12px!important;line-height:1.4!important;margin:5px 0;gap:7px;align-items:flex-start}
.zt-trial{padding-top:20px}.zt-trial .zt-heading{margin-bottom:14px;gap:22px}.zp .zt-heading h1{font-size:clamp(29px,2.8vw,38px)}.zt-heading>p{font-size:13px;line-height:1.6}
.zt-trial #free-trial .trial-grid{gap:12px;align-items:stretch;grid-auto-rows:auto}
.zt-trial #free-trial .trial-card{padding:14px;min-height:0;height:auto}
.zt-trial #free-trial .trial-icon{width:27px;height:27px;margin-bottom:7px}
.zt-trial #free-trial .trial-card h3{font-size:18px;line-height:1.25;min-height:2.5em;margin:0 0 5px}
.zt-trial #free-trial .trial-intro{font-size:12px;line-height:1.45;min-height:0;margin:0 0 7px}
.zt-trial #free-trial .trial-free{font-size:26px;margin:0 0 9px}.zt-trial #free-trial .trial-free span{font-size:12px}
.zt-trial #free-trial .trial-card .trial-extra{min-height:0;margin-top:auto;padding:8px 0;font-size:11px;line-height:1.45}
.zt-trial #free-trial .trial-card>.button{min-height:40px;padding:8px 11px;font-size:12px}
@media(max-width:900px){.zp .zm-entry-hero{gap:22px}.zp .zm-entry-hero h1{font-size:34px}.zp .zm-entry-hero :is(.zu-heading,.zd-heading)>p:last-of-type{font-size:14px}.zp .zs-evening{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}.zp .zs-evening-copy{padding:18px}.zp .zs-evening img{max-height:260px}}
@media(max-width:650px){.zp .zm-entry-hero{grid-template-columns:minmax(0,1fr);gap:16px;padding-bottom:20px}.zp .zm-entry-hero h1{font-size:30px;margin:8px 0 10px}.zp .zm-entry-hero :is(.zu-heading,.zd-heading)>p:last-of-type{font-size:14px;line-height:1.55;margin-bottom:10px}.zp .zm-entry-hero figure{max-width:420px}.zp .zm-entry-hero figure img{max-height:min(200px,calc(100svh - 300px))}.zp .zm-entry-hero figcaption{font-size:9px;padding:7px 10px}.zp .zm-entry-hero .zd-visual figcaption{font-size:11px}.zp .zm-entry-hero .eyebrow{font-size:10px;margin-bottom:4px}.zp .zm-form-jump{min-height:34px;padding:6px 11px;font-size:12px}.zp :is(.zu-page,.zd-demo){padding-top:20px}.zp .zs-hero{grid-template-columns:1fr;gap:10px;padding:18px 0}.zp .zs-hero h1{font-size:30px}.zp .zs-evening{grid-template-columns:1fr}.zp .zs-evening img{max-height:200px}.zt-trial #free-trial .trial-card{padding:11px;gap:2px 9px}.zt-trial #free-trial .trial-card h3{font-size:16px;min-height:0}.zt-trial #free-trial .trial-icon{margin:0;width:27px;height:27px}.zt-trial #free-trial .trial-free{font-size:22px;margin:0}.zt-trial #free-trial .trial-card .trial-extra{padding-top:5px}.zt-trial #free-trial .ux-trial-inclusions{grid-column:1/-1}.zt-trial #free-trial .trial-card>.button{grid-column:3;grid-row:4;margin:4px 0 0}.zt-trial #free-trial .trial-card .trial-extra{grid-column:1/3;grid-row:4}}
@media(max-height:500px) and (min-width:651px){.zp .zm-entry-hero h1{font-size:29px}.zp .zm-entry-hero :is(.zu-heading,.zd-heading)>p:last-of-type{font-size:13px}.zp .zm-entry-hero figure img{max-height:calc(100svh - 160px)}}

/* The summary and list have their own backgrounds in the inherited card CSS. */
#free-trial .trial-card .ux-trial-inclusions summary,#free-trial .trial-card .ux-trial-inclusions ul{background:#fffaf0!important;color:#173f49!important;opacity:1!important;border-radius:8px}
#free-trial .trial-card .ux-trial-inclusions li{background:transparent!important;color:#173f49!important}
.zt-trial #free-trial .trial-card h3{min-height:1.4em}

/* Put the Solutions image beside its introduction, not below a tall heading. */
.zp .zm-solution-hero{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:32px;padding-block:24px}
.zp .zm-solution-hero figure{margin:0;border:1px solid #89aa99;border-radius:16px;overflow:hidden;background:#eef3e8;align-self:center}
.zp .zm-solution-hero figure img{width:100%;height:auto;max-height:min(330px,calc(100svh - 210px));object-fit:contain}
.zp .zm-solution-hero figcaption{font-size:10px;line-height:1.5;padding:9px 13px;background:#163e49;color:#edf7ee}
.zp .zm-solution-hero h1{font-size:clamp(30px,3vw,41px);margin-bottom:14px}.zp .zm-solution-hero>div>p:not(.eyebrow){font-size:14px;line-height:1.65}
.zp .zs-evening{display:block}.zp .zs-evening-copy{max-width:980px;margin:auto}.zp .zs-evening ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.zp .zs-evening li:not(:last-child):after{display:none}
@media(max-width:650px){.zp .zm-solution-hero{grid-template-columns:1fr;gap:16px;padding-block:20px}.zp .zm-solution-hero h1{font-size:29px}.zp .zm-solution-hero figure img{max-height:180px}.zp .zs-evening ol{grid-template-columns:1fr;gap:0}}

@media(max-width:380px){.zp .zm-solution-hero{padding-block:18px;gap:12px}.zp .zm-solution-hero h1{font-size:26px;line-height:1.12;margin:8px 0 10px}.zp .zm-solution-hero>div>p:not(.eyebrow){font-size:13px;line-height:1.5;margin-bottom:6px}.zp .zm-solution-hero figure img{max-height:150px}}

/* v3.5.2: shared regional card geometry, Unicode-native greeting labels. */
#global{--region-radius:20px;--badge-radius:14px;--region-gap:24px;--region-visual:300px}
#global>.wrap{width:min(1280px,calc(100% - clamp(36px,6vw,80px)));margin-inline:auto}
#global .global-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--region-gap);align-items:stretch}
#global .global-card{display:grid;grid-template-rows:auto var(--region-visual) auto 1fr auto;gap:14px;min-width:0;padding:24px;border:1px solid #6c979a;border-radius:var(--region-radius);background:linear-gradient(135deg,#244652,#18343f);box-shadow:0 8px 22px #071d292b;overflow:visible;transform:none;transition:none}
#global .global-card:hover{transform:none;border-color:#6c979a;box-shadow:0 8px 22px #071d292b}
#global .global-card>*{min-width:0;max-width:100%;margin-block:0}
#global .global-card-heading{min-height:52px;align-items:center;gap:12px}
#global .global-card-heading>div{min-width:0}
#global .global-card h3{font-size:18px;line-height:1.4;margin:3px 0 0;color:#f1faf5}
#global .global-kicker{font-size:10px;line-height:1.5;color:#b9dedc}
#global .global-icon{width:42px;height:42px;flex:0 0 42px;border-radius:12px;background:#315f68;color:#9ce4d9}
#global .market-contained{display:grid;place-items:center;height:100%;width:100%;max-width:460px;margin:0 auto;min-width:0}
#global .market-contained .global-orbit{width:100%;height:100%;max-width:100%;overflow:visible}
#global .market-marker rect{fill:url(#zm-tag-mint);stroke:#83ada6;stroke-width:1}
#global .market-marker.marker-1 rect{fill:url(#zm-tag-aqua)}
#global .market-marker.marker-2 rect{fill:url(#zm-tag-gold)}
#global .market-marker text{fill:#173f49;font:700 9px system-ui,sans-serif;letter-spacing:.025em}
#global .market-marker{filter:drop-shadow(0 2px 3px #092b3526)}
#global .global-card .language-visual.language-expanded{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));gap:10px;width:100%;max-width:none;height:100%;margin:0;padding:0;align-content:stretch}
#global .global-card .language-expanded .language-bubble{grid-column:span 2;display:flex;flex-direction:column;justify-content:center;position:static;inset:auto;min-width:0;min-height:0;padding:8px 12px;border:1px solid #83ada6;border-radius:var(--badge-radius);background:linear-gradient(135deg,#e7f5ed,#bee6db);box-shadow:0 2px 5px #092b3526;transform:none;overflow:visible;overflow-wrap:normal;white-space:normal;font-family:system-ui,"Nirmala UI","Noto Sans",sans-serif;color:#173f49}
#global .global-card .language-expanded .language-bubble:last-child:nth-child(3n+1){grid-column:3/span 2}
#global .global-card .language-expanded .tone-aqua{background:linear-gradient(135deg,#d6ebf4,#b4d5e6)}
#global .global-card .language-expanded .tone-gold{background:linear-gradient(135deg,#ffedce,#ffd1a5)}
#global .language-greeting{display:block;font-family:system-ui,"Nirmala UI","Noto Sans",sans-serif;font-size:20px;font-weight:750;line-height:1.6;letter-spacing:normal;unicode-bidi:isolate;color:#173f49;text-transform:none}
#global .language-greeting[dir=rtl]{direction:rtl;text-align:right}
#global .global-card .language-expanded .language-bubble>.language-name{display:block;font-size:11px;font-weight:600;line-height:1.5;letter-spacing:normal;margin:0;color:#395a60;text-transform:none;direction:ltr;unicode-bidi:isolate}
#global .global-example-label{font-size:10px;font-weight:650;line-height:1.5;color:#b9dedc;letter-spacing:.07em}
#global .country-chips{display:flex;flex-wrap:wrap;align-content:start;gap:7px}
#global .country-chips>span{max-width:100%;padding:6px 10px;border:1px solid #789ea1;border-radius:999px;background:linear-gradient(135deg,#244652,#18343f);box-shadow:0 2px 5px #092b3526;font:600 11px/1.5 system-ui,sans-serif;color:#edf8f4;white-space:normal;overflow-wrap:break-word}
#global .global-card-note{font-size:12px;line-height:1.65;color:#c4dcdf;max-width:none}
#global .regional-strip{grid-template-columns:repeat(3,minmax(0,1fr))}#global .regional-strip>div{min-width:0}
@media(max-width:1100px) and (min-width:851px){#global{--region-visual:360px;--region-gap:18px}#global .global-card{padding:20px}#global .global-card .language-visual.language-expanded{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(5,minmax(0,1fr))}#global .global-card .language-expanded .language-bubble:last-child:nth-child(3n+1){grid-column:span 2}}
@media(max-width:850px){#global .global-grid{grid-template-columns:minmax(0,1fr)}#global .global-card{grid-template-rows:auto var(--region-visual) auto auto auto}#global .regional-strip{grid-template-columns:minmax(0,1fr)}#global .regional-strip>div+div{border-left:0}}
@media(max-width:500px){#global{--region-visual:auto}#global .global-card{padding:18px;gap:14px}#global .global-card h3{font-size:17px}#global .global-card .language-visual.language-expanded{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(5,minmax(68px,auto));height:auto}#global .global-card .language-expanded .language-bubble:last-child:nth-child(3n+1){grid-column:span 2}#global .global-card .language-expanded .language-bubble{padding:8px 10px}#global .language-greeting{font-size:19px}#global .market-contained{height:220px}#global .global-card-heading{gap:10px}#global .global-icon{width:36px;height:36px;flex-basis:36px}#global .country-chips>span{font-size:11px;padding:6px 9px}}
