
/* IRYS Connect responsive storefront enhancements */
html{overflow-x:clip}body{min-width:0}img,video,iframe{max-width:100%}img{height:auto}button,input,select,textarea{font:inherit}input,select,textarea{max-width:100%;min-width:0}table{max-width:100%}:focus-visible{outline:3px solid #087cf0;outline-offset:3px}
.irys-menu-toggle{display:none;border:1px solid #cbddeb;background:#fff;color:#092f51;border-radius:10px;padding:10px 14px;min-height:44px;font-weight:800;cursor:pointer;align-items:center;gap:9px}.irys-menu-toggle svg{width:20px;height:20px}
@media(max-width:1000px){header .nav{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;padding:12px 16px!important;min-height:64px}header .brand{font-size:clamp(19px,4.5vw,25px)}.irys-menu-toggle{display:inline-flex;margin-left:auto}header nav.links{display:none!important;flex-basis:100%;width:100%!important;padding:10px 0 16px;gap:0!important;flex-direction:column;align-items:stretch!important;flex-wrap:nowrap!important}header nav.links.irys-menu-open{display:flex!important}header nav.links a{display:block;padding:12px 10px;border-bottom:1px solid #e6edf3;font-size:15px;min-height:44px}header nav.links a.btn{margin-top:8px;text-align:center;border:0}header{position:sticky;top:0;z-index:1000}.wrap{padding-left:18px!important;padding-right:18px!important}}
@media(max-width:640px){h1{overflow-wrap:break-word}.hero,.sales-hero,.section{padding-top:32px;padding-bottom:32px}.cards,.grid,.feature-grid,.two,.platform-split,.demo-showcase-grid{grid-template-columns:minmax(0,1fr)!important}.card,.panel{padding:18px!important}.btn,button.btn{min-height:44px;max-width:100%;text-align:center}.device{flex-wrap:wrap}.store-image-hero img,.hero img{max-width:100%;height:auto}.intro,.sectiontop{flex-wrap:wrap}.footercta{text-align:center}.fields{grid-template-columns:1fr!important}input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px}table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch} .wrap,.shell{min-width:0} }
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Public-site session navigation */
header nav.links .irys-logout {display:inline-flex;align-items:center;white-space:nowrap;font-weight:700;color:#183c58;text-decoration:none}
header nav.links .irys-logout:hover,header nav.links .irys-logout:focus-visible {color:#087cf0;text-decoration:underline}
@media(max-width:1000px){header nav.links.irys-menu-open .irys-logout{display:block!important;padding:12px 16px;min-height:44px}}

/* Keep account actions inline with the main navigation; no separate account strip. */
header nav.links .irys-register{display:inline-flex;align-items:center;white-space:nowrap;font-weight:700;text-decoration:none;color:#173b59}
header nav.links .irys-register:hover{color:#087cf0}
@media(max-width:1000px){header nav.links.irys-menu-open .irys-register{display:block;padding:12px 10px;min-height:44px}}


/* 2026-10-24: Mobile navigation repair. Override legacy .links a:not(.btn)
   hiding, and let the expanded panel participate in header layout. */
@media (max-width:1000px) {
  header {height:auto!important;min-height:74px!important;align-items:stretch!important;overflow:visible!important;background:#fff!important;}
  header .nav {width:100%!important;min-height:74px!important;position:relative!important;align-content:center!important;}
  header .irys-menu-toggle {display:inline-flex!important;flex:0 0 auto!important;position:relative;z-index:2;}
  header nav.links {order:3;flex:0 0 100%!important;box-sizing:border-box!important;background:#fff!important;position:static!important;visibility:hidden!important;max-height:0!important;overflow:hidden!important;padding:0!important;margin:0!important;box-shadow:none!important;}
  header nav.links.irys-menu-open {display:flex!important;visibility:visible!important;max-height:calc(100dvh - 85px)!important;overflow-y:auto!important;padding:8px 0 16px!important;border-top:1px solid #e6edf3!important;}
  header nav.links.irys-menu-open a, header nav.links.irys-menu-open a:not(.btn), header nav.links.irys-menu-open a.irys-register, header nav.links.irys-menu-open a.irys-logout {display:block!important;visibility:visible!important;opacity:1!important;position:static!important;width:100%!important;max-width:none!important;box-sizing:border-box!important;margin:0!important;padding:12px 14px!important;border-radius:0!important;line-height:1.4!important;text-align:left!important;color:#102a43!important;background:#fff!important;}
  header nav.links.irys-menu-open a.btn, header nav.links.irys-menu-open a[data-irys-account="primary"] {display:block!important;background:#087cf0!important;color:#fff!important;text-align:center!important;border-radius:8px!important;margin:12px 0 0!important;width:100%!important;}
  header nav.links.irys-menu-open a.irys-cart-button {display:flex!important;align-items:center!important;justify-content:flex-start!important;}
  header nav.links.irys-menu-open a:focus-visible {outline:3px solid #087cf0;outline-offset:-3px;}
}

/* Photo hero (2026-10-26): the hero images no longer contain text. Headline, copy and
   buttons are real HTML. Wide screens: text sits over the image's dark left side.
   Narrower screens: the image is cropped to its picture side with the text below. */
.photo-hero{position:relative;overflow:hidden;background:#06203a;color:#fff;font-family:Inter,Arial,Helvetica,sans-serif;line-height:1.5}
.photo-hero-img{display:block;width:100%;height:auto;aspect-ratio:var(--ph-crop,3/2);object-fit:cover;object-position:right center}
.photo-hero-copy{padding:22px 18px 26px;box-sizing:border-box}
.photo-hero .ph-eyebrow{display:block;margin:0 0 10px;color:#4ea6ff;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.photo-hero h1{margin:0 0 14px;color:#fff;font-size:clamp(30px,7.4vw,40px);line-height:1.06;font-weight:800;letter-spacing:-.02em}
.photo-hero h1 span{color:#3d95ff}
.photo-hero p{margin:0 0 20px;color:#d4e4f1;font-size:16px;max-width:36em}
.ph-actions{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 18px}
.ph-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:12px 20px;border-radius:8px;background:#0a7cf2;color:#fff!important;font-weight:800;font-size:15px;text-decoration:none;border:1.5px solid #0a7cf2;box-sizing:border-box}
.ph-btn:hover{background:#0668cf;border-color:#0668cf}
.ph-btn.ph-ghost{background:transparent;border-color:rgba(255,255,255,.75)}
.ph-btn.ph-ghost:hover{background:rgba(255,255,255,.1)}
.ph-btn:focus-visible{outline:3px solid #9fd0ff;outline-offset:2px}
.ph-points{display:flex;flex-wrap:wrap;gap:8px 20px;margin:0;padding:0;list-style:none;color:#e6f0f8;font-size:14px;font-weight:600}
.ph-points li{display:flex;align-items:center;gap:7px}
.ph-points li::before{content:"";width:16px;height:16px;flex:0 0 16px;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3 3 7-7' fill='none' stroke='%234ea6ff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
/* Mid widths: text column on navy beside the picture side of the image. */
@media (min-width:801px){
  .photo-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:stretch}
  .photo-hero-img{order:2;height:100%;min-height:300px;aspect-ratio:auto;object-position:var(--ph-pos,right center)}
  .photo-hero-copy{order:1;align-self:center;padding:32px 28px 34px clamp(24px,4vw,56px)}
  .photo-hero h1{font-size:clamp(32px,3.6vw,44px)}
}
/* Text over the image only when the image is wide enough to keep the copy clear of the
   product photos: 1200px+, or 1440px+ for heroes marked .ph-xl (narrow picture side). */
@media (min-width:1200px){
  .photo-hero:not(.ph-xl){display:flex;align-items:center;aspect-ratio:var(--ph-ratio,3/1);overflow:visible}
  .photo-hero:not(.ph-xl) .photo-hero-img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto}
  .photo-hero:not(.ph-xl) .photo-hero-copy{position:relative;z-index:1;margin:0;max-width:none;width:var(--ph-copy,42%);padding:clamp(26px,3vw,56px) 0 clamp(26px,3vw,56px) clamp(28px,4.6vw,96px)}
  .photo-hero:not(.ph-xl) h1{font-size:clamp(36px,3.3vw,60px)}
  .photo-hero:not(.ph-xl) p{font-size:clamp(15px,1.15vw,19px)}
}
@media (min-width:1440px){
  .photo-hero.ph-xl{display:flex;align-items:center;aspect-ratio:var(--ph-ratio,3/1);overflow:visible}
  .photo-hero.ph-xl .photo-hero-img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto}
  .photo-hero.ph-xl .photo-hero-copy{position:relative;z-index:1;margin:0;max-width:none;width:var(--ph-copy,42%);padding:clamp(26px,3vw,56px) 0 clamp(26px,3vw,56px) clamp(28px,4.6vw,96px)}
  .photo-hero.ph-xl h1{font-size:clamp(36px,3.3vw,60px)}
  .photo-hero.ph-xl p{font-size:clamp(15px,1.15vw,19px)}
}
/* Photo cards (2026-10-26): replaces card images that had captions baked in. */
.photo-cards{display:grid;grid-template-columns:repeat(var(--pc-cols,4),minmax(0,1fr));gap:16px;margin:26px 0 0;padding:0;list-style:none;font-family:Inter,Arial,Helvetica,sans-serif}
.photo-cards li{background:#fff;border:1px solid #dce7f0;border-radius:10px;overflow:hidden;box-shadow:0 4px 16px rgba(8,40,66,.06)}
.photo-cards img{display:block;width:100%;height:auto;aspect-ratio:var(--pc-ratio,47/18);object-fit:cover}
.photo-cards .pc-body{padding:12px 14px 16px}
.photo-cards h3{margin:0 0 4px;color:#0b2f63;font-size:18px;line-height:1.25;font-weight:800;letter-spacing:-.01em}
.photo-cards p{margin:0;color:#4a6176;font-size:14px;line-height:1.45}
@media (max-width:1023px){.photo-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.photo-cards{grid-template-columns:1fr}}

/* Solutions feature row */
.feature-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:22px 0 0;padding:20px 22px;list-style:none;background:#eef5fb;border:1px solid #dce7f0;border-radius:12px;font-family:Inter,Arial,Helvetica,sans-serif}
.feature-row li{display:flex;gap:12px;align-items:flex-start}
.feature-row svg{flex:0 0 44px;width:44px;height:44px}
.feature-row h3{margin:0 0 3px;color:#0b2f63;font-size:16px;line-height:1.3}
.feature-row p{margin:0;color:#4a6176;font-size:14px;line-height:1.45}
@media (max-width:1023px){.feature-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.feature-row{grid-template-columns:1fr}}
.apps-head{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:end}
.apps-head h2{margin:4px 0 0;font-size:clamp(28px,3.2vw,44px);line-height:1.1;letter-spacing:-.02em;color:#0b2f63}
.apps-head h2 span{color:#0a7cf2}
.apps-head p{margin:0;color:#4a6176}
@media (max-width:800px){.apps-head{grid-template-columns:1fr}}
