/* Product narrative additions. Kept separate from the initial preview stylesheet. */
.demo-card-actions{display:grid;gap:11px;margin:0 22px 23px}
.demo-request{display:flex;align-items:center;justify-content:center;min-height:52px;padding:13px 17px;border:1px solid #d7eef0;border-radius:8px;background:#c7e8ea;color:#092330;font-size:.84rem;font-weight:800;transition:transform .25s ease,background .25s ease,box-shadow .25s ease}
.demo-request:hover{transform:translateY(-2px);background:#e4f5f5;box-shadow:0 10px 24px rgba(0,0,0,.2)}
.demo-request:focus-visible{outline-color:#eba638}
.demo-status{color:#a9cbd0;font-size:.71rem;line-height:1.5;text-align:center}
.site-nav{gap:23px}
.site-nav a{white-space:nowrap}
.site-nav .nav-home{display:inline-flex;align-items:center;gap:9px;color:#197d8c}
.home-grid-icon{display:grid;grid-template-columns:repeat(2,5px);grid-template-rows:repeat(2,5px);gap:2px;flex:none;transform:rotate(-12deg);transition:transform .2s ease}
.home-grid-icon i{display:block;border:1px solid currentColor;border-radius:1px}
.home-grid-icon i:first-child{background:currentColor}
.site-nav .nav-home:hover .home-grid-icon,.site-nav .nav-home:focus-visible .home-grid-icon{transform:rotate(0)}
.nav-contact-mobile{display:none}
@media(max-width:800px){.nav-contact-mobile{display:block}}

.product-screens{background:linear-gradient(180deg,#e9f2f3 0%,#f4f9f9 100%)}
.product-screens-head{margin-bottom:38px}
.product-screen-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.product-screen-card{min-width:0;margin:0;border:1px solid #4c8490;border-radius:16px;background:linear-gradient(145deg,#123c4b,#08232f);box-shadow:0 22px 45px rgba(11,58,73,.16);overflow:hidden;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.product-screen-card:hover{transform:translateY(-5px);border-color:#8bc7ce;box-shadow:0 29px 52px rgba(11,58,73,.22)}
.product-screen-media{display:block;width:100%;padding:12px 12px 0;border:0;background:transparent;text-align:left;cursor:zoom-in}
.product-screen-media:focus-visible{outline:3px solid #e6a53c;outline-offset:-6px}
.product-screen-media img{display:block;width:100%;height:auto;aspect-ratio:8/5;object-fit:cover;object-position:top left;border:1px solid rgba(194,229,233,.24);border-radius:8px 8px 0 0;background:#eef2f6}
.product-screen-card figcaption{display:grid;gap:7px;padding:21px 24px 25px;color:#fff}
.product-screen-card figcaption span{color:#8fc6cf;font-size:.61rem;font-weight:800;letter-spacing:.15em}
.product-screen-card figcaption strong{font-size:1.22rem;letter-spacing:-.03em}
.product-screen-card figcaption small{color:#adcbd1;font-size:.72rem}
.screen-lightbox{width:min(96vw,1480px);max-width:none;max-height:94vh;margin:auto;padding:0;border:1px solid rgba(158,220,228,.45);border-radius:14px;background:#0a2533;color:#e4f7f8;box-shadow:0 30px 90px rgba(0,0,0,.6);overflow:auto}
.screen-lightbox::backdrop{background:rgba(3,17,24,.82);backdrop-filter:blur(10px)}
.screen-lightbox-inner{padding:12px}.screen-lightbox-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:2px 5px 12px;color:#9ccbd2;font-size:.66rem;font-weight:800;letter-spacing:.1em}.screen-lightbox-close{display:inline-flex;align-items:center;gap:12px;padding:8px 11px;border:1px solid rgba(173,225,231,.35);border-radius:7px;background:rgba(147,208,216,.1);color:#f0fbfc;font-size:.74rem;font-weight:800}.screen-lightbox-close:hover{background:rgba(147,208,216,.22)}.screen-lightbox-close span{font-size:1.15rem;line-height:.8}.screen-lightbox img{display:block;width:100%;height:auto;max-height:calc(94vh - 104px);object-fit:contain;border-radius:7px;background:#eef2f6}.screen-lightbox p{margin:11px 5px 1px;color:#9ebfc6;font-size:.7rem}

.audiences{background:#f9fcfc}
.audiences-head{margin-bottom:46px}
.audience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.audience-card{display:flex;flex-direction:column;min-width:0;min-height:458px;padding:26px;border:1px solid #d4e5e7;border-radius:15px;background:#fff;box-shadow:0 18px 38px rgba(11,58,73,.05);transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}
.audience-card:hover{transform:translateY(-5px);border-color:#8bc7ce;box-shadow:0 25px 45px rgba(11,58,73,.1)}
.audience-top{display:flex;align-items:center;justify-content:space-between;color:#398793;font-size:.64rem;font-weight:800;letter-spacing:.16em}
.audience-top span:last-child{font-size:1.35rem;line-height:1;font-weight:400}
.audience-visual{position:relative;display:flex;align-items:center;justify-content:center;height:170px;margin:27px 0 25px;border:1px solid #dcebed;border-radius:10px;background:radial-gradient(circle at 50% 50%,#eaf5f5,#f7fbfb 70%);overflow:hidden}
.audience-card h3{font-size:1.31rem;line-height:1.25;letter-spacing:-.035em;margin:0 0 11px}
.audience-card p{font-size:.87rem;line-height:1.75;color:#56737c;margin:0 0 24px}
.audience-outcome{display:block;padding-top:15px;margin-top:auto;border-top:1px solid #e0ecee;color:#257b88;font-size:.72rem;font-weight:800;line-height:1.5}
.audience-plan::before{content:"";position:absolute;left:23%;right:23%;top:50%;height:2px;background:#81bec5}
.audience-plan i{position:absolute;top:calc(50% - 16px);width:32px;height:32px;border:6px solid #d4ecee;border-radius:8px;background:#4a9ca8;box-shadow:0 8px 15px rgba(23,90,105,.13)}
.audience-plan i:nth-child(1){left:21%}.audience-plan i:nth-child(2){left:calc(50% - 16px);background:#ecaa3b}.audience-plan i:nth-child(3){right:21%}
.audience-plan b{position:absolute;bottom:16px;color:#5c8d96;font-size:.55rem;letter-spacing:.15em}
.field-device{position:relative;width:105px;height:139px;padding:19px 14px;border:6px solid #174553;border-radius:15px;background:linear-gradient(160deg,#fff,#e8f4f5);box-shadow:12px 16px 25px rgba(11,58,73,.13);transform:rotate(-6deg)}
.field-device span{font-size:.52rem;font-weight:800;color:#2f8390;letter-spacing:.1em}
.field-device i{display:block;width:100%;height:7px;margin-top:12px;border-radius:10px;background:#badde1}
.field-device i:nth-of-type(2){width:75%}.field-device i:nth-of-type(3){width:85%;background:#ecaa3b}
.field-device b{position:absolute;bottom:11px;right:13px;color:#246e7c;font-size:.6rem}
.audience-review{gap:6px;padding:0 15px}
.audience-review span{display:grid;place-items:center;min-height:43px;padding:0 7px;border:1px solid #9bcbd0;border-radius:6px;background:#fff;color:#256d7a;font-size:.48rem;font-weight:800;letter-spacing:.06em;text-align:center}
.audience-review span:last-child{border-color:#e3a941;background:#fff8e9;color:#95631d}
.audience-review i{height:2px;min-width:13px;background:#8abfc5}

.control{background:#eaf3f4}
.control-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:clamp(40px,6vw,100px);align-items:start}
.control h2{font-size:clamp(2.7rem,3.4vw,3.7rem);line-height:1.08}
.control-copy>p:not(.eyebrow){max-width:555px;margin:24px 0 31px;color:#536f79;font-size:1rem;line-height:1.82}
.control-points{border-top:1px solid #cbdfe2}
.control-points>div{display:flex;gap:18px;padding:16px 0;border-bottom:1px solid #cbdfe2}
.control-points b{padding-top:4px;color:#d08a29;font-size:.66rem;letter-spacing:.12em}
.control-points strong,.control-points small{display:block}
.control-points strong{font-size:.91rem;letter-spacing:-.02em}
.control-points small{margin-top:4px;color:#607d85;font-size:.77rem;line-height:1.55}
.control-visual{min-width:0;margin-top:41px;border:1px solid #477f89;border-radius:16px;background:radial-gradient(circle at 67% 43%,#174f5c,#0a2b39 65%);color:#fff;box-shadow:0 28px 48px rgba(15,60,73,.16);overflow:hidden}
.control-visual-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;padding:0 24px;border-bottom:1px solid rgba(182,225,230,.19);color:#b6d2d7;font-size:.57rem;font-weight:800;letter-spacing:.13em}
.control-visual-head span:first-child{display:flex;align-items:center;gap:11px}
.control-visual-head span:last-child{color:#83aeb6}
.control-track{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;align-items:start;padding:82px 27px 75px}
.control-track::before{content:"";position:absolute;top:108px;left:12%;right:12%;height:2px;background:linear-gradient(90deg,#65a9b5,#e5a742 72%,#577d86)}
.control-track::after{content:"";position:absolute;top:103px;left:12%;width:8px;height:8px;border-radius:50%;background:#ebaa45;box-shadow:0 0 0 5px rgba(235,170,69,.15),0 0 16px #ebaa45;animation:control-flow 5s linear infinite}
.track-step{position:relative;z-index:1;min-width:0;text-align:center}
.track-step>span{display:grid;place-items:center;width:53px;height:53px;margin:0 auto 20px;border:1px solid #618e98;border-radius:12px;background:#103b4a;color:#b7d5da;font-size:.69rem;font-weight:800;box-shadow:0 8px 18px rgba(0,0,0,.2)}
.track-step>span svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.track-step.done>span{background:#287d88;color:#fff;border-color:#80c6cd}
.track-step.active>span{background:#e6a53c;color:#1c3540;border-color:#f5cf8e;box-shadow:0 0 0 6px rgba(230,165,60,.15),0 8px 18px rgba(0,0,0,.2)}
.track-step strong,.track-step small{display:block;overflow-wrap:anywhere}
.track-step strong{font-size:.78rem}.track-step small{margin-top:6px;color:#8fb6be;font-size:.64rem}
.control-visual-footer{display:flex;justify-content:space-between;gap:10px;padding:17px 25px;border-top:1px solid rgba(182,225,230,.19);color:#86bbc2;font-size:.56rem;font-weight:800;letter-spacing:.16em}
@keyframes control-flow{from{left:12%}to{left:87%}}

.questions{background:#fff}
.questions-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(50px,7vw,115px)}
.questions-grid>div:first-child>p:not(.eyebrow){max-width:390px;margin:26px 0 0;color:#5d7780;line-height:1.82}
.question-list{border-top:1px solid #cfe1e4}
.question-list details{border-bottom:1px solid #cfe1e4}
.question-list summary{position:relative;padding:23px 39px 23px 0;list-style:none;cursor:pointer;font-size:.95rem;font-weight:750;line-height:1.5;color:#123b48}
.question-list summary::-webkit-details-marker{display:none}
.question-list summary::after{content:"+";position:absolute;right:2px;top:17px;color:#2b8792;font-size:1.55rem;font-weight:300}
.question-list details[open] summary::after{content:"−"}
.question-list summary:hover{color:#187985}
.question-list details p{margin:0 40px 24px 0;color:#58737b;font-size:.88rem;line-height:1.8}

@media(max-width:1100px){.audience-card{padding:21px}.control-grid{gap:38px}.site-nav{gap:13px}.site-nav a{font-size:.76rem}}
@media(max-width:800px){.product-screen-grid{grid-template-columns:1fr}.product-screen-card{max-width:720px}.audience-grid{grid-template-columns:1fr 1fr}.audience-card{min-height:440px}.control-grid,.questions-grid{grid-template-columns:1fr}.control-visual{max-width:670px;margin-top:0}.questions-grid{gap:35px}}
@media(max-width:560px){.audience-grid{grid-template-columns:1fr}.audience-card{min-height:0}.audience-visual{height:145px}.control-track{padding:48px 13px 46px;gap:3px}.control-track::before{top:74px}.control-track::after{top:69px}.track-step>span{width:42px;height:42px;margin-bottom:15px}.track-step>span svg{width:22px;height:22px}.track-step strong{font-size:.62rem}.track-step small{font-size:.54rem}.control-visual-head{padding:0 13px;font-size:.47rem}.control-visual-footer{padding:15px 13px;font-size:.45rem}.question-list details p{margin-right:0}}
@media(prefers-reduced-motion:reduce){.control-track::after{animation:none}}

/* Place the capabilities heading and both card rows within a desktop viewport. */
.capabilities .section-head{scroll-margin-top:8px;margin-bottom:34px}
