/* Public website: readable cards, intrinsic sizing and iPhone-safe spacing. */
.site-updates{padding:18px 0;background:#edf4fa}.promotion-grid{display:grid;gap:20px}.promotion{display:flex;align-items:center;gap:28px;padding:26px 30px;border-radius:20px;background:#e8f1fc;color:#163452;overflow:hidden}.promotion h2{font-size:clamp(20px,2.5vw,30px);margin:5px 0 8px;color:inherit}.promotion p{max-width:70ch;margin:0 0 16px;line-height:1.65}.promotion .eyebrow{color:inherit}.promotion>img{width:35%;max-height:280px;object-fit:contain;background:#fff;border-radius:14px}.promotion-dark{background:#112c40;color:#fff}.promotion-green{background:#e3f2e8;color:#17482c}.promotion-orange{background:#fff0de;color:#653608}.promotion-light{background:#f5f7fa;color:#182b40}.site-promotions .promotion-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-promotions .promotion{flex-direction:column;align-items:stretch}.site-promotions .promotion>img{width:100%;height:240px}.site-updates .promotion{border-left:5px solid #1676b3}.site-updates .promotion .btn{font-size:14px;min-height:44px}
.solution-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.solution-card{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid #dce5ed;border-radius:20px;overflow:hidden;box-shadow:0 8px 25px #15304c07}.solution-card>img{width:100%;height:190px;object-fit:cover;background:#f3f6f9}.solution-card>div{padding:24px;flex:1}.solution-card h3{font-size:20px;line-height:1.3;margin:0 0 10px;color:#152c40}.solution-card p{font-size:15px;line-height:1.65;color:#46576a}.solution-card a{font-weight:700}.solution-card .feature-points{font-size:14px}.client-section{background:#fff}.client-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.client-card{border:1px solid #dce5ed;border-radius:18px;text-align:center;padding:24px;min-width:0;background:#fff}.client-card h3{font-size:17px;overflow-wrap:anywhere;margin:20px 0 6px}.client-card p{font-size:14px;color:#536277}.client-logo{height:116px;display:flex;justify-content:center;align-items:center;overflow:hidden;border-radius:10px}.client-logo img{width:100%;height:100%;object-fit:contain}.client-logo-wide img{height:auto;width:100%;transform:scale(1.25);max-width:none}.client-logo-wide{background:#f8f7ff}.module-nav{display:flex;flex-wrap:wrap;gap:10px;padding-top:28px;padding-bottom:28px}.module-nav a{display:inline-flex;align-items:center;min-height:44px;padding:10px 15px;border:1px solid #d6e2ec;border-radius:99px;color:#20425d;background:#fff;font-weight:650;font-size:14px}.feature-module{scroll-margin-top:100px}.feature-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:64px}.feature-layout h2{font-size:clamp(28px,3vw,42px);line-height:1.15;letter-spacing:-.025em}.feature-layout>img{width:100%;max-height:390px;object-fit:contain;border-radius:24px;background:#fff;padding:20px}.feature-points{padding:0;list-style:none;display:grid;gap:12px;margin:24px 0;color:#33465a;line-height:1.6}.feature-points li{position:relative;padding-left:26px}.feature-points li:before{content:'✓';color:#177142;font-weight:800;position:absolute;left:0}.hardware-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.hardware-gallery figure{margin:0;background:#fff;border:1px solid #dce5ed;border-radius:20px;overflow:hidden}.hardware-gallery img{width:100%;height:240px;object-fit:contain;padding:15px;background:#fff}.hardware-gallery figcaption{padding:20px}.hardware-gallery p{font-size:14px;color:#4d5e70;line-height:1.6;margin-bottom:0}.container{max-width:1240px}.section-head{max-width:780px}.section-head.center{margin-left:auto;margin-right:auto}
@media(max-width:1100px){.solution-grid,.client-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-layout{gap:32px}}
@media(max-width:700px){.site-promotions .promotion-grid,.feature-layout{grid-template-columns:1fr}.hardware-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.hardware-gallery img{height:165px}.promotion{padding:22px;gap:18px;align-items:stretch;flex-direction:column}.promotion>img{width:100%}.feature-layout>img{max-height:280px}.feature-module{scroll-margin-top:80px}.module-nav{flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding-left:20px;padding-right:20px;overscroll-behavior-inline:contain}.module-nav a{flex-shrink:0}.solution-card>div{padding:20px}.solution-card>img{height:170px}.client-card{padding:18px}.client-logo{height:95px}.site-updates{padding:12px 0}}
@media(max-width:430px){.solution-grid{grid-template-columns:1fr}.client-grid{gap:12px}.client-card{padding:14px 10px}.client-card h3{font-size:15px}.hardware-gallery{grid-template-columns:1fr}.hardware-gallery img{height:220px}html{scroll-padding-top:80px}body{overflow-wrap:break-word}.hero h1{font-size:clamp(32px,10vw,44px)}.hero-cta .btn{width:100%;justify-content:center}input,select,textarea{font-size:16px!important}.container{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.installation-gallery img{height:280px;padding:0;object-fit:cover;object-position:center}.installation-gallery figure{background:#f8fafc}@media(max-width:700px){.installation-gallery{grid-template-columns:1fr}.installation-gallery img{height:auto;aspect-ratio:4/3}}
.site-updates .promotion{padding:16px 22px;border-radius:14px}.site-updates .promotion h2{font-size:19px}.site-updates .promotion p{font-size:14px;margin:4px 0 8px}.site-updates .promotion .eyebrow{font-size:10px}.site-updates .promotion .btn{padding:7px 12px}@media(max-width:430px){.site-updates .promotion p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.site-updates .promotion{padding:12px 16px}}
.client-strip{background:#f6fafc;border-bottom:1px solid #dce8ef;padding:13px 0}.client-strip-inner{display:flex;align-items:center;gap:28px}.client-strip-label{flex:none;max-width:160px;text-transform:uppercase;letter-spacing:.08em;font-size:11px;line-height:1.4;font-weight:800;color:#38617b}.client-strip-list{display:flex;align-items:center;gap:28px;overflow-x:auto;scrollbar-width:thin}.client-strip-item{display:inline-flex;align-items:center;gap:9px;flex:none;max-width:210px;font-size:13px;font-weight:700;color:#344c60;white-space:nowrap}.client-strip-item img{width:38px;height:28px;object-fit:contain;border-radius:4px}.client-strip-item span{overflow:hidden;text-overflow:ellipsis}.site-footer .cols{grid-template-columns:minmax(190px,1.6fr) repeat(4,minmax(110px,1fr)) minmax(190px,1.25fr);gap:24px}.site-footer .cols>div{min-width:0}.site-footer .cols p{line-height:1.7}.site-footer .cols a{overflow-wrap:anywhere}.site-header .nav-links a{padding-inline:11px}.site-promotions .promotion .eyebrow{letter-spacing:.08em;text-transform:uppercase;font-weight:800}.help-hero{background:linear-gradient(135deg,#eff7fd,#f8fbfd)}.help-hero h1{max-width:850px;font-size:clamp(32px,5vw,56px)}.help-hero .lead{max-width:760px}.help-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.help-card{display:block;background:#fff;border:1px solid #d9e6ef;border-radius:18px;padding:24px;min-width:0;box-shadow:0 8px 24px #10344f08}.help-card i{font-size:24px;color:#0e76bc}.help-card small{display:block;margin-top:14px;color:#56758c;text-transform:uppercase;font-weight:800;letter-spacing:.06em}.help-card h2{font-size:21px;margin:9px 0;color:#17364d}.help-card p{color:#526779;line-height:1.6}.help-card span{color:#0e76bc;font-weight:750}.help-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:48px;align-items:start}.help-article{min-width:0;max-width:800px;line-height:1.75;color:#334b5c}.help-article h2{font-size:27px;margin:36px 0 12px;scroll-margin-top:90px}.help-article h3{font-size:21px;margin:25px 0 10px}.help-article li{margin-bottom:9px}.help-article a{color:#0e76bc;text-decoration:underline}.help-article .kbd{background:#eaf2f7;border-radius:4px;padding:2px 5px}.help-article .doc-note{background:#eaf6ee;padding:18px;border-left:4px solid #4c9e57;border-radius:8px}.help-article .doc-note.warn{background:#fff4e8;border-color:#e78c2e}.help-sidebar{position:sticky;top:100px;border:1px solid #d9e6ef;border-radius:16px;padding:20px}.help-sidebar h2{font-size:16px}.help-sidebar a{display:block;padding:7px 0;color:#286087}@media(max-width:1180px){.site-footer .cols{grid-template-columns:repeat(3,minmax(0,1fr))}.site-header .nav-links{display:none}.site-header .burger{display:inline-flex}.site-header .nav-cta .btn{display:none}}@media(max-width:760px){.client-strip-inner{display:block}.client-strip-label{display:block;max-width:none;margin-bottom:8px}.client-strip-list{gap:20px}.help-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.help-layout{grid-template-columns:1fr}.help-sidebar{position:static}.site-footer .cols{grid-template-columns:repeat(2,minmax(0,1fr))}.site-footer .cols>div:first-child,.site-footer .cols>div:last-child{grid-column:1/-1}}@media(max-width:500px){.help-grid{grid-template-columns:1fr}.help-card{padding:20px}.site-footer .cols{gap:20px}.site-footer .cols>div:first-child,.site-footer .cols>div:last-child{grid-column:1/-1}.client-strip-item{font-size:12px}}
.client-strip-list{scrollbar-width:none}.client-strip-list::-webkit-scrollbar{display:none}
@media(max-width:1460px){.site-header .nav-links{display:none}.site-header .burger{display:inline-flex}.site-header .nav-cta [data-install-app]{display:none}}

/* Public announcements and paid placements share a clean, compact card system. */
.site-updates{padding:12px 0;background:#f4f8fb}
.promotion-grid{gap:14px}
.promotion{min-width:0;border:1px solid #dce7ee;box-shadow:0 10px 28px rgba(13,46,70,.06)}
.promotion--update{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:14px;padding:17px 20px!important;border-left:1px solid #dce7ee!important;border-radius:16px!important;background:#fff;color:#17354b}
.promotion-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#e7f3fb;color:#0876b8;font-size:18px}
.promotion-copy{min-width:0}
.promotion .eyebrow{display:block;width:auto;padding:0;margin:0;border:0;border-radius:0;background:transparent;font-size:10px!important;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#1874a7}
.promotion--update h2{font-size:18px!important;line-height:1.25;margin:3px 0 3px}
.promotion--update p{font-size:13px!important;line-height:1.45;margin:0!important;color:#486174}
.promotion-link{display:inline-flex;align-items:center;gap:7px;margin-top:7px;color:#076fae;font-size:13px;font-weight:800;text-decoration:none}
.promotion-link:hover{text-decoration:underline}
.promotion-link span{font-size:16px;line-height:1}
.promotion--update .promotion-media{grid-row:1;grid-column:1;width:42px;height:42px;border-radius:12px;overflow:hidden}
.promotion--update .promotion-media img{display:block;width:100%;height:100%;object-fit:cover}
.promotion--update:has(.promotion-media) .promotion-mark{display:none}
.site-promotions{background:#f6f9fb}
.site-promotions .promotion-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.site-promotions .promotion--ad{display:flex;flex-direction:column;gap:0;padding:0;border-radius:18px;background:#fff;color:#19344a;overflow:hidden}
.site-promotions .promotion--ad .promotion-media{height:200px;background:#edf3f7;overflow:hidden}
.site-promotions .promotion--ad .promotion-media img{display:block;width:100%;height:100%;object-fit:cover}
.site-promotions .promotion--ad .promotion-copy{padding:19px 21px 20px;flex:1}
.site-promotions .promotion--ad h2{font-size:21px;line-height:1.25;margin:7px 0 7px;color:#15354b}
.site-promotions .promotion--ad p{font-size:14px;line-height:1.5;margin:0;color:#506578}
.site-promotions .promotion--ad .promotion-link{margin-top:13px}
.site-promotions .promotion--ad:not(:has(.promotion-media)) .promotion-copy{padding-top:25px;background:linear-gradient(135deg,#fff,#edf6fb)}
.client-strip{padding:12px 0;background:#fff}
.client-strip-inner{gap:20px}
.client-strip-label{max-width:130px;font-size:10px;line-height:1.35;color:#547085}
.client-strip-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;flex:1;overflow:visible}
.client-strip-item{min-width:0;max-width:none;white-space:normal;font-size:12px;line-height:1.2}
.client-strip-item img{flex:none;width:34px;height:30px}
.client-strip-item span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}

@media(max-width:700px){
  .section{padding:40px 0}
  .section-head{margin-bottom:23px}
  .section-head h2{font-size:clamp(23px,6vw,30px);line-height:1.18}
  .section-head .lead{font-size:14px;line-height:1.5}
  .client-strip{padding:10px 0}
  .client-strip-label{max-width:none;margin-bottom:8px;font-size:9px}
  .client-strip-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px}
  .client-strip-item{gap:6px;padding:5px 6px;border:1px solid #e7eef3;border-radius:9px;font-size:11px}
  .client-strip-item img{width:27px;height:24px}
  .site-updates{padding:9px 0}
  .promotion--update{grid-template-columns:34px minmax(0,1fr);gap:10px;padding:11px 12px!important;border-radius:12px!important}
  .promotion-mark,.promotion--update .promotion-media{width:34px;height:34px;border-radius:9px;font-size:14px}
  .promotion--update h2{font-size:15px!important;margin:2px 0}
  .promotion--update p{font-size:12px!important;line-height:1.35}
  .promotion--update .promotion-link{font-size:12px;margin-top:5px}
  .site-promotions .promotion-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .site-promotions .promotion--ad{border-radius:13px}
  .site-promotions .promotion--ad .promotion-media{height:auto;aspect-ratio:4/3}
  .site-promotions .promotion--ad .promotion-copy{padding:11px 10px 13px}
  .site-promotions .promotion--ad .eyebrow{font-size:9px!important;line-height:1.3}
  .site-promotions .promotion--ad h2{font-size:15px;line-height:1.24;margin:6px 0 5px;overflow-wrap:anywhere}
  .site-promotions .promotion--ad p{font-size:12px;line-height:1.35;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
  .site-promotions .promotion--ad .promotion-link{font-size:12px;line-height:1.3;margin-top:9px}
  .solution-grid,.hardware-gallery,.installation-gallery,.client-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .solution-card,.hardware-gallery figure,.client-card{border-radius:13px}
  .solution-card>img{height:auto;aspect-ratio:4/3;object-fit:cover}
  .solution-card>div{padding:12px}
  .solution-card h3{font-size:15px;line-height:1.25;margin-bottom:5px}
  .solution-card p,.solution-card .feature-points{font-size:12px;line-height:1.45}
  .hardware-gallery img{height:auto;aspect-ratio:4/3;padding:8px}
  .installation-gallery img{height:auto;aspect-ratio:4/3;padding:0}
  .hardware-gallery figcaption{padding:11px}
  .hardware-gallery figcaption strong{font-size:13px;line-height:1.3;display:block;overflow-wrap:anywhere}
  .hardware-gallery p{font-size:11.5px;line-height:1.4}
  .client-card{padding:12px 9px}
  .client-logo{height:72px}
  .client-card h3{font-size:13px;line-height:1.25;margin:8px 0 4px}
  .client-card p,.client-card a{font-size:11px;line-height:1.35}
  .business-fit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .business-fit-grid article{padding:14px 11px}
  .business-fit-grid article>i{font-size:17px;margin-bottom:9px}
  .business-fit-grid h3{font-size:14px;line-height:1.3}
  .business-fit-grid p{font-size:12px;line-height:1.45}
  .hero-bg{padding:40px 0;min-height:0}
  .hero-bg h1{font-size:clamp(30px,8vw,40px)}
  .hero-bg .hero-copy>p{font-size:14px;line-height:1.55}
}
@media(max-width:380px){
  .container{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}
  .business-fit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .client-strip-item{font-size:10px}
  .site-promotions .promotion--ad h2{font-size:14px}
}
