@font-face{font-family:CA Public;src:url('../fonts/PublicSans-Regular.woff') format('woff');font-weight:400;font-display:swap}
@font-face{font-family:CA Public;src:url('../fonts/PublicSans-Bold.ttf') format('truetype');font-weight:700 900;font-display:swap}
:root{color-scheme:dark;--bg:#0b1727;--surface:#132438;--ink:#f2f7fb;--muted:#a6b8cb;--teal:#4fe1d1;--line:#2b4055}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.65 'CA Public',Arial,sans-serif}body.dialog-open{overflow:hidden}
button,a,input,summary{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{font:inherit}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer}button:disabled{cursor:default}img,video{max-width:100%;display:block}svg{width:22px;height:22px;flex-shrink:0;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--teal);outline-offset:5px}button:focus:not(:focus-visible){outline:none}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.15;letter-spacing:-.045em}h2{font-size:clamp(30px,3.5vw,46px);font-weight:700}h3{font-size:22px;letter-spacing:-.025em}.container{width:min(1280px,calc(100% - 80px));margin-inline:auto}.section{padding-block:100px}.eyebrow{font-size:11px;letter-spacing:.17em;font-weight:700;color:var(--teal);margin-bottom:21px}.skip-link{position:fixed;left:16px;top:-100px;padding:12px 20px;background:var(--teal);color:var(--bg);z-index:100}.skip-link:focus{top:12px}
.site-header{position:sticky;top:0;z-index:20;background:rgba(11,23,39,.95);border-bottom:1px solid rgba(166,184,203,.12);backdrop-filter:blur(16px)}.nav-shell{display:flex;justify-content:space-between;align-items:center;min-height:86px;gap:24px}.brand{display:inline-flex;align-items:center;gap:11px;font-weight:700;font-size:21px;letter-spacing:-.04em;white-space:nowrap}.brand img{object-fit:contain}.brand-dot{color:var(--teal)}#main-nav{display:flex;align-items:center;gap:34px;font-size:13px;font-weight:700}#main-nav>a:not(.button){color:#bfcede;padding-block:12px}#main-nav>a:hover{color:var(--teal)}.button{display:inline-flex;align-items:center;justify-content:center;gap:17px;background:linear-gradient(105deg,#0cb5a4,#087a9a);border:1px solid #27c6bc;border-radius:7px;min-height:54px;padding:12px 22px;font-weight:700;font-size:14px;color:#fff;box-shadow:0 5px 24px #0bb8ad15;transition:background .2s,box-shadow .2s,transform .2s}.button:hover{background:linear-gradient(105deg,#0fae9f,#146fab);box-shadow:0 8px 28px #13bbaa30;transform:translateY(-2px);color:#fff!important}.button-small{min-height:44px;padding:9px 20px}.menu-toggle{width:44px;height:44px;border:1px solid var(--line);background:var(--surface);border-radius:7px;align-items:center;justify-content:center}.menu-toggle:not([hidden]){display:none}
.hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 88% 35%,#17465465,transparent 50%),linear-gradient(150deg,#0e1d2f,var(--bg) 70%)}.hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:54px;padding-block:88px 76px}.hero-copy{position:relative;z-index:1}.hero .eyebrow{display:flex;align-items:center;gap:9px}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--teal);box-shadow:0 0 16px #4fe1d16b}.hero h1{font-size:clamp(52px,5.2vw,76px);font-weight:800;line-height:1.04;letter-spacing:-.06em}.hero h1>span{color:var(--teal);background:linear-gradient(115deg,#6df0d1 10%,#4dc1eb);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.hero-description{max-width:470px;color:#b3c3d5;font-size:16px;line-height:1.85;margin-top:26px}.hero-actions{display:flex;align-items:center;gap:21px;flex-wrap:wrap;margin-top:30px}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;font-size:13px;font-weight:700}.text-button svg{width:18px;height:18px}.text-button:hover{color:var(--teal)}.hero-note{font-size:11px;color:#91a7bb;margin-top:23px}.hero-visual{position:relative;min-width:0}.hero-visual:before{content:'';position:absolute;width:590px;height:590px;border:1px solid #4edccb12;border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 55px #46d5c505,0 0 0 110px #46d5c503;pointer-events:none}.video-frame{position:relative;background:#101e2e;border:1px solid #395064;border-radius:14px;overflow:hidden;box-shadow:0 25px 70px #0005,0 0 50px #1db7a810;transform:perspective(1400px) rotateY(-5deg) rotateX(2deg)}.frame-toolbar{padding:13px 15px;display:flex;align-items:center;gap:13px;background:#16283c;border-bottom:1px solid var(--line);font-size:8px;font-weight:700;letter-spacing:.13em;color:#b9c9d8}.window-dots{display:flex;gap:5px}.window-dots i{height:5px;width:5px;background:#5b7287;border-radius:50%}.window-dots i:first-child{background:#32b8aa}.tour-duration{margin-left:auto;color:var(--teal)}.hero-screen{position:relative;aspect-ratio:16/9;background:#08111d}.hero-screen video{width:100%;height:100%;object-fit:contain}.video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid #8df8e9;border-radius:50%;width:66px;height:66px;display:grid;place-items:center;background:#0a827fe8;color:#fff;box-shadow:0 0 0 10px #0cbbaa20;transition:background .2s}.video-play:hover{background:#0ca59b}.video-play svg{width:26px;height:26px}.frame-caption{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 18px}.frame-caption strong{display:block;font-size:13px;line-height:1.4}.frame-caption>span>span{font-size:10px;color:var(--muted)}.preview-toggle{font-size:10px;border:1px solid #395064;border-radius:5px;background:#1b3146;min-height:44px;padding:7px 12px;white-space:nowrap}.preview-toggle:hover{border-color:var(--teal)}.visual-note{position:relative;display:flex;align-items:center;gap:12px;margin-top:24px;font-size:10px;letter-spacing:.03em;color:#a9bed0}.mini-line{height:1px;width:28px;background:var(--teal)}.note-number{margin-left:auto;color:#68889e;letter-spacing:.13em}.product-strip{display:flex;gap:30px;align-items:center;padding-block:24px 28px;border-top:1px solid var(--line)}.product-strip>span{font-size:9px;font-weight:700;letter-spacing:.12em;color:#8da5b9;white-space:nowrap}.product-strip ul{display:flex;justify-content:space-between;gap:25px;width:100%;margin:0;padding:0;list-style:none;font-size:12px;color:#cfdae6}.product-strip li:before{content:'+';color:var(--teal);font-size:16px;margin-right:9px}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:40px}.section-heading>p{font-size:13px;color:var(--muted);max-width:380px;line-height:1.8}.section-heading .eyebrow{margin-bottom:17px}.report-explorer{border:1px solid #2d465d;border-radius:12px;background:#102134;overflow:hidden}.report-tabs{display:flex;border-bottom:1px solid var(--line);background:#112034}.report-tabs button{flex:1;border:0;border-right:1px solid #263e52;border-bottom:2px solid transparent;padding:22px 16px;background:transparent;display:flex;align-items:center;justify-content:center;gap:12px;font-size:10px;color:#7e9bb4;min-height:62px}.report-tabs button:last-child{border-right:0}.report-tabs button span{font-size:13px;font-weight:700;color:#a8bbce}.report-tabs button[aria-selected=true]{background:#123335;border-bottom-color:var(--teal);color:var(--teal)}.report-tabs button[aria-selected=true] span{color:#e7fffa}.report-tabs button:hover{background:#183447}.report-tabs button:focus-visible{outline-offset:-5px}.report-panel{display:grid;grid-template-columns:2fr .8fr;align-items:center}.report-image{padding:22px;border-right:1px solid var(--line);min-width:0}.report-image img{width:100%;height:auto;border-radius:5px;border:1px solid #2b444e}.report-caption{padding:28px;min-width:0}.report-caption h3{font-size:23px;line-height:1.25;letter-spacing:-.035em}.report-caption p{font-size:12px;line-height:1.85;color:var(--muted);margin-top:17px}.report-labels{display:flex;flex-direction:column;align-items:flex-start;gap:8px;list-style:none;margin:23px 0 0;padding:0}.report-labels li{font-size:10px;color:#abdedb;border:1px solid #26524f;border-radius:4px;padding:3px 8px;background:#183c3a60}.image-credit{font-size:10px;color:#879db1;margin-top:15px;text-align:right}
.tools-section{background:linear-gradient(120deg,#112337,#0f1c2c);border-block:1px solid #22374a}.tools-section .section-heading{max-width:800px}.tools-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 60px}.tool{display:flex;align-items:flex-start;gap:23px;padding:34px 0;border-top:1px solid #2a4155}.tool-icon{display:grid;place-items:center;width:49px;height:49px;flex-shrink:0;color:var(--teal);border:1px solid #2b5559;border-radius:10px;background:#163334}.tool h3{font-size:22px}.tool p{font-size:14px;line-height:1.8;color:var(--muted);max-width:460px;margin-top:15px}.tool-detail{display:block;font-size:9px;letter-spacing:.12em;color:#85c7c5;margin-top:20px}.workflow-steps{display:grid;grid-template-columns:repeat(3,1fr);list-style:none;padding:0;margin:45px 0 0;gap:46px}.workflow-steps li{position:relative;padding-top:32px;border-top:1px solid #345267}.step-number{display:grid;place-items:center;background:#0b1727;width:40px;height:40px;font-size:12px;color:var(--teal);border:1px solid #3b6667;border-radius:50%;position:absolute;top:-20px;left:0}.workflow-steps h3{font-size:23px;max-width:290px;line-height:1.25;margin-top:10px}.workflow-steps p{font-size:14px;color:var(--muted);line-height:1.8;margin-top:18px}.tour-link{margin-top:40px;color:var(--teal)}.tour-link svg:last-child{margin-left:15px}
.faq-section{background:#101f30;border-block:1px solid #21364a}.faq-grid{display:grid;grid-template-columns:1fr 1.55fr;gap:80px}.faq-grid>div>p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.9;margin-top:28px}.inline-link{display:inline-flex;align-items:center;gap:6px;color:var(--teal);min-height:44px}.inline-link svg{width:17px;height:17px}.faq-list details{border-bottom:1px solid #2b4055}.faq-list details:first-child{border-top:1px solid #2b4055}.faq-list summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0;cursor:pointer;font-size:15px;font-weight:700;line-height:1.5}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:23px;font-weight:400;color:var(--teal);transition:transform .15s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{color:var(--muted);font-size:14px;line-height:1.85;padding:0 38px 24px 0}.final-cta{text-align:center;padding:85px 30px;margin-top:90px;border:1px solid #2b545c;border-radius:14px;background:radial-gradient(ellipse at 50% 120%,#0e817746,transparent 65%),#112437}.final-cta h2{font-size:clamp(32px,4vw,52px)}.final-cta>p:not(.eyebrow){color:var(--muted);font-size:15px;margin-top:22px}.final-cta .button{margin-top:30px}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-block:45px;color:#a2b7c9;font-size:11px}.site-footer .brand{font-size:16px;color:#e7f1f8}.site-footer>a:last-child{min-height:44px;display:flex;align-items:center}.site-footer>a:hover{color:var(--teal)}
dialog{width:min(1100px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:0;border:1px solid #456578;border-radius:14px;background:#102033;color:var(--ink);box-shadow:0 30px 110px #000b;overflow:auto}dialog::backdrop{background:rgba(3,10,18,.92);backdrop-filter:blur(7px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 26px}.dialog-heading .eyebrow{font-size:9px;margin-bottom:7px}.dialog-heading h2{font-size:24px}.dialog-heading button{width:44px;height:44px;flex-shrink:0;border-radius:50%;border:1px solid #405a70;background:#1d3449;font-size:27px}dialog video{width:100%;aspect-ratio:16/9;background:#060e17}dialog>p{padding:18px 26px;font-size:12px;color:var(--muted)}dialog>p a{color:var(--teal);text-decoration:underline}#tour-error{padding-top:0}
.workflow-product-link { justify-content: flex-start; margin-top: 14px; color: var(--teal); }
.workflow-map { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 48px 144px 64px minmax(0, 1fr); align-items: center; margin: 0 0 64px; padding: 28px; border: 1px solid #294754; border-radius: 16px; background: radial-gradient(ellipse at 50% 48%, #205e6040, transparent 56%), linear-gradient(#41647a09 1px, transparent 1px), linear-gradient(90deg, #41647a09 1px, transparent 1px), #0e1e2e; background-size: auto, 32px 32px, 32px 32px, auto; }
.workflow-map-caption { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.workflow-source, .workflow-web, .workflow-mobile { min-width: 0; }
.workflow-screen { display: block; overflow: hidden; border: 1px solid #3c596d; border-radius: 9px; background: #0a1423; box-shadow: 0 12px 32px #0003; cursor: zoom-in; transition: border-color .2s; }
.workflow-screen:hover, .workflow-phone:hover { border-color: var(--teal); }
.workflow-screen img { width: 100%; height: auto; }
.workflow-window-bar { display: flex; align-items: center; gap: 12px; min-height: 27px; padding: 7px 10px; background: #182c40; border-bottom: 1px solid #2b4055; color: #a6bdce; font-size: 7px; font-weight: 700; letter-spacing: .1em; }
.workflow-node-caption { margin-top: 12px; line-height: 1.6; }
.workflow-node-caption strong { display: block; color: var(--ink); font-size: 14px; }
.workflow-node-caption span { display: block; margin-top: 3px; color: var(--muted); font-size: 11px; }
.workflow-upload-arrow { display: grid; place-items: center; color: var(--teal); }
.workflow-upload-arrow svg { width: 100%; height: 48px; }
.workflow-cloud { display: flex; flex-direction: column; align-items: center; text-align: center; padding-block: 12px; }
.workflow-cloud-icon { display: grid; place-items: center; width: 112px; height: 112px; border: 1px solid #3d797b; border-radius: 50%; background: radial-gradient(circle at 50% 30%, #205856, #112c39); box-shadow: 0 0 0 9px #4fe1d107, 0 0 50px #4fe1d115; color: var(--teal); }
.workflow-cloud-icon svg { width: 80px; height: 66px; stroke-width: 2; }
.workflow-cloud > strong { margin-top: 20px; font-size: 12px; line-height: 1.6; }
.workflow-cloud > span:not(.workflow-cloud-icon) { color: var(--muted); font-size: 10px; margin-top: 5px; }
.workflow-fork { height: 560px; color: #4fe1d1a6; }
.workflow-fork svg { width: 100%; height: 100%; stroke-width: 1.5; }
.workflow-fork circle { fill: var(--teal); stroke: none; }
.workflow-mobile-fork { display: none; }
.workflow-outputs { display: grid; grid-template-rows: repeat(2, minmax(0, 1fr)); align-items: center; gap: 28px; height: 560px; min-width: 0; }
.workflow-web { max-width: 400px; }
.workflow-mobile { display: flex; align-items: center; gap: 22px; }
.workflow-phone { display: block; flex: 0 0 108px; width: 108px; padding: 5px; background: #0a1320; border: 1px solid #486275; border-radius: 19px; box-shadow: 0 12px 32px #0003; cursor: zoom-in; transition: border-color .2s; }
.workflow-phone img { width: 100%; height: auto; border-radius: 14px; }
.workflow-mobile .workflow-node-caption { margin-top: 0; }
@media (max-width: 1100px) and (min-width: 901px) {
  .workflow-map { grid-template-columns: minmax(0, 1fr) 34px 126px 42px minmax(0, 1fr); padding: 22px; }
  .workflow-mobile { gap: 14px; }
  .workflow-phone { flex-basis: 94px; width: 94px; }
  .workflow-node-caption strong { font-size: 13px; }
}
@media (max-width: 900px) {
  .workflow-map { grid-template-columns: 1fr; padding: 28px; margin-bottom: 46px; }
  .workflow-source { width: 100%; max-width: 480px; justify-self: center; }
  .workflow-upload-arrow { height: 60px; }
  .workflow-upload-arrow svg { width: 48px; height: 48px; transform: rotate(90deg); }
  .workflow-cloud { padding-block: 12px 0; }
  .workflow-fork { display: none; }
  .workflow-mobile-fork { display: block; height: 64px; margin-top: 14px; color: #4fe1d1a6; }
  .workflow-mobile-fork svg { width: 100%; height: 100%; stroke-width: 1.5; }
  .workflow-outputs { height: auto; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto; align-items: start; gap: 28px; }
  .workflow-mobile { flex-direction: column; gap: 0; }
  .workflow-mobile .workflow-node-caption { margin-top: 12px; text-align: center; }
  .workflow-phone { flex: none; width: 132px; max-width: 100%; }
}
@media (max-width: 600px) {
  .workflow-map { padding: 20px 16px; }
  .workflow-mobile-fork { display: none; }
  .workflow-cloud { padding-bottom: 22px; }
  .workflow-outputs { position: relative; grid-template-columns: 1fr; grid-template-rows: auto auto; gap: 30px; margin: 24px 0 0 5px; padding-left: 22px; border-left: 1px solid #3d797b; }
  .workflow-outputs:before { content: ''; position: absolute; top: -24px; left: -1px; width: calc(50% - 3px); height: 24px; border-top: 1px solid #3d797b; border-left: 1px solid #3d797b; border-top-left-radius: 10px; }
  .workflow-web, .workflow-mobile { position: relative; }
  .workflow-web:before, .workflow-mobile:before { content: ''; position: absolute; top: 30px; left: -23px; width: 18px; height: 1px; background: #4fe1d1a6; }
  .workflow-web:after, .workflow-mobile:after { content: ''; position: absolute; top: 27px; left: -11px; width: 6px; height: 6px; border-top: 1px solid var(--teal); border-right: 1px solid var(--teal); transform: rotate(45deg); }
  .workflow-mobile { flex-direction: row; gap: 14px; }
  .workflow-phone { flex: 0 0 108px; width: 108px; }
  .workflow-mobile .workflow-node-caption { margin-top: 0; text-align: left; }
  .workflow-node-caption strong { font-size: 12px; }
  .workflow-node-caption span { font-size: 10px; }
  .workflow-window-bar { gap: 8px; font-size: 6px; padding-inline: 7px; }
}
.workflow-steps > li { min-width: 0; }
.workflow-outcome { margin-top: 32px; padding: 20px 24px; border-left: 2px solid var(--teal); background: #13243880; border-radius: 0 8px 8px 0; color: var(--muted); font-size: 14px; line-height: 1.8; }
@media (max-width: 800px) {
  .workflow .workflow-steps { grid-template-columns: 1fr; gap: 32px; margin-top: 0; }
  .workflow .workflow-steps > li { padding: 0 0 0 58px; border-top: 0; }
  .workflow .step-number { top: 0; left: 0; }
  .workflow .workflow-steps h3 { max-width: none; margin-top: 0; font-size: 22px; }
  .workflow .workflow-steps p { font-size: 14px; margin-top: 12px; }
  .workflow-outcome { padding: 16px 18px; }
}
.modules-section { background: #0e1e30; border-bottom: 1px solid var(--line); }
.purchase-modules { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; }
.purchase-module { display: flex; flex-direction: column; align-items: flex-start; padding: 32px; border: 1px solid #365466; border-top: 3px solid #38cdbc; border-radius: 12px; background: linear-gradient(140deg, #193347, #122235); }
.purchase-module:nth-child(2) { border-top-color: #4aade0; }
.module-number { font-size: 10px; font-weight: 700; letter-spacing: .16em; color: #9db8ce; }
.module-combination { display: flex; align-items: center; gap: 22px; margin: 27px 0; }
.module-component { width: 48px; height: 48px; display: grid; place-items: center; border: 1px solid #3c6670; border-radius: 10px; color: var(--teal); background: #173c42; }
.module-component svg { width: 25px; height: 25px; }
.module-plus { font-size: 25px; color: #9bb7cc; }
.purchase-module h3 { font-size: clamp(23px, 2.2vw, 29px); line-height: 1.3; }
.purchase-module > p { color: var(--muted); font-size: 14px; line-height: 1.8; margin: 16px 0 24px; }
.purchase-module > .module-model { margin: 14px 0 10px; color: var(--teal); font-size: 12px; font-weight: 700; }
.purchase-module > .module-summary { margin: 0 0 24px; }
.module-support { width: 100%; padding: 18px 20px; margin-bottom: 24px; border: 1px solid #355864; border-radius: 9px; background: #0d2131; }
.module-support strong { display: block; font-size: 14px; line-height: 1.6; }
.module-support p { margin-top: 8px; color: var(--muted); font-size: 13px; line-height: 1.8; }
.module-training-link { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; margin-top: 8px; color: var(--teal); font-size: 12px; font-weight: 700; }
.module-training-link:hover { text-decoration: underline; }
.purchase-module .text-button { color: var(--teal); margin-top: auto; }
.contact-section { background: radial-gradient(ellipse at 90% 10%, #1c63542b, transparent 55%); }
.contact-layout { display: grid; grid-template-columns: .7fr 1.3fr; gap: 70px; align-items: start; }
.contact-intro { padding-top: 18px; min-width: 0; }
.contact-intro > p:not(.eyebrow) { margin-top: 24px; color: var(--muted); font-size: 15px; line-height: 1.9; }
.contact-form { position: relative; min-width: 0; padding: 32px; border: 1px solid #365568; border-radius: 14px; background: #13273b; box-shadow: 0 18px 50px #00000015; }
.contact-form-heading { padding-bottom: 25px; border-bottom: 1px solid #2c465b; margin-bottom: 28px; }
.contact-form-heading h3 { font-size: 25px; }
.contact-form-heading p { margin-top: 10px; font-size: 13px; color: var(--muted); }
.required-mark { color: var(--teal); }
.field-optional { font-size: 10px; font-weight: 400; color: #9db4c9; }
.contact-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 20px; }
.contact-field { min-width: 0; }
.contact-field-wide { grid-column: 1 / -1; }
.contact-field label { display: block; margin-bottom: 10px; color: #d8e5f0; font-size: 12px; font-weight: 700; }
.contact-field input, .contact-field select, .contact-field textarea { width: 100%; max-width: 100%; min-height: 52px; padding: 13px 14px; border: 1px solid #3b5970; border-radius: 8px; background: #0b1a2a; color: var(--ink); font: inherit; font-size: 16px; line-height: 1.5; transition: border-color .15s; }
.contact-field textarea { min-height: 168px; resize: vertical; }
.contact-field input::placeholder, .contact-field textarea::placeholder { color: #8ba4bc; opacity: 1; font-size: 13px; }
.contact-field select:has(option:checked[value=""]) { color: #8ba4bc; }
.contact-field select option { background: #0b1a2a; color: var(--ink); }
.contact-field input:focus, .contact-field select:focus, .contact-field textarea:focus { outline: 2px solid var(--teal); outline-offset: 2px; border-color: var(--teal); }
.contact-field [aria-invalid="true"] { border-color: #ed9aad; }
.contact-field-error { display: block; margin-top: 8px; color: #ffb8c7; font-size: 12px; line-height: 1.6; }
.contact-submit { width: 100%; margin-top: 28px; min-height: 54px; }
.contact-submit:disabled { opacity: .7; cursor: progress; transform: none; }
.contact-privacy { margin-top: 17px; text-align: center; font-size: 11px; color: #a0b7cc; line-height: 1.7; }
.contact-feedback { margin-bottom: 25px; padding: 16px; border: 1px solid #347a70; border-radius: 8px; background: #133b3a; font-size: 13px; color: #cefff0; line-height: 1.8; overflow-wrap: anywhere; }
.contact-feedback.is-error { border-color: #865063; background: #352335; color: #ffd4de; }
.contact-feedback:focus { outline: 2px solid var(--teal); outline-offset: 3px; }
.contact-reference { font-size: 11px; letter-spacing: .04em; }
.contact-reference:empty { display: none; }
.contact-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; pointer-events: none; }
@media (max-width: 1100px) {
  .contact-layout { grid-template-columns: .8fr 1.2fr; gap: 34px; }
  .contact-form { padding: 26px; }
  .purchase-module { padding: 28px; }
}
@media (max-width: 900px) {
  .contact-layout { grid-template-columns: 1fr; gap: 32px; }
  .contact-intro { padding: 0; max-width: 620px; }
  .contact-form { width: 100%; }
}
@media (max-width: 600px) {
  .purchase-modules { grid-template-columns: 1fr; gap: 20px; }
  .purchase-module { padding: 26px; }
  .purchase-module h3 { font-size: 25px; }
  .contact-fields { grid-template-columns: 1fr; gap: 22px; }
  .contact-form { padding: 24px 20px; }
}
@media (max-width: 380px) {
  .contact-form { padding-inline: 16px; }
  .purchase-module h3 { font-size: 22px; }
  .contact-field select { font-size: 14px; }
}
.audience-section {
  background: radial-gradient(ellipse at 12% 45%, #174b4830, transparent 50%);
  border-bottom: 1px solid #22374a;
}
.audience-section .section-heading { align-items: center; margin-bottom: 54px; }
.audience-section .section-heading > p { max-width: 320px; }
.audience-layout { display: grid; grid-template-columns: .95fr 1.05fr; align-items: start; gap: 68px; }
.audience-graphic {
  position: sticky;
  top: 112px;
  margin: 0;
  min-width: 0;
  border: 1px solid #365565;
  border-radius: 14px;
  overflow: hidden;
  background: linear-gradient(145deg, #152e3f, #102134);
}
.audience-graphic-heading { padding: 32px 32px 0; }
.audience-graphic-heading .eyebrow { margin-bottom: 16px; font-size: 9px; }
.audience-graphic h3 { font-size: clamp(26px, 2.5vw, 36px); line-height: 1.18; }
.audience-graphic img { width: 100%; height: auto; }
.audience-graphic-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  padding: 24px 28px;
  border-block: 1px solid #2c4858;
}
.audience-graphic-steps span { font-size: 11px; line-height: 1.6; }
.audience-graphic-steps i { display: block; margin-bottom: 7px; color: var(--teal); font-size: 10px; font-style: normal; letter-spacing: .1em; }
.audience-graphic figcaption { padding: 20px 28px; color: var(--muted); font-size: 12px; line-height: 1.8; }
.audience-role { display: flex; align-items: flex-start; gap: 20px; padding: 28px 0; border-bottom: 1px solid #2b4055; }
.audience-role:first-child { padding-top: 0; }
.audience-role:last-child { padding-bottom: 0; border-bottom: 0; }
.audience-role-icon { display: grid; place-items: center; width: 44px; height: 44px; flex-shrink: 0; border: 1px solid #2d555b; border-radius: 10px; color: var(--teal); background: #173438; }
.audience-role > div { min-width: 0; }
.audience-role h3 { margin: 0 0 8px; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--teal); }
.audience-role p { color: var(--muted); font-size: 14px; line-height: 1.8; }
.audience-role .audience-outcome { color: var(--ink); font-size: 21px; font-weight: 700; line-height: 1.4; letter-spacing: -.025em; margin-bottom: 12px; }
.audience-role .audience-tools { margin-top: 15px; color: #91b6c8; font-size: 10px; line-height: 1.8; }
.audience-tools span { padding-inline: 6px; color: #527985; }
@media (max-width: 1100px) {
  .audience-layout { gap: 38px; }
  .audience-graphic-heading { padding: 28px 24px 0; }
  .audience-graphic-steps { gap: 12px; padding-inline: 22px; }
  .audience-graphic figcaption { padding-inline: 22px; }
  .audience-role { gap: 16px; }
}
@media (max-width: 900px) {
  .audience-layout { grid-template-columns: 1fr; gap: 42px; }
  .audience-graphic { position: static; width: 100%; max-width: 620px; margin-inline: auto; }
  .audience-section .section-heading { align-items: flex-start; flex-direction: column; gap: 20px; margin-bottom: 32px; }
  .audience-section .section-heading > p { max-width: 540px; font-size: 14px; }
  .audience-role .audience-outcome { font-size: 23px; }
}
@media (max-width: 480px) {
  .audience-graphic-heading { padding: 24px 20px 0; }
  .audience-graphic h3 { font-size: 29px; }
  .audience-graphic-heading .eyebrow { font-size: 8px; letter-spacing: .1em; }
  .audience-graphic-steps { gap: 10px; padding: 18px; }
  .audience-graphic-steps span { font-size: 10px; }
  .audience-graphic figcaption { padding: 18px; font-size: 11px; }
  .audience-role { gap: 14px; padding-block: 26px; }
  .audience-role-icon { width: 38px; height: 38px; border-radius: 8px; }
  .audience-role h3 { font-size: 10px; line-height: 1.5; }
  .audience-role .audience-outcome { font-size: 20px; }
  .audience-role .audience-tools { font-size: 9px; }
  .audience-tools span { padding-inline: 3px; }
}
@media (max-width: 1050px) {
  html { scroll-padding-top: 90px; }
  .nav-shell { min-height: 74px; flex-wrap: wrap; padding-block: 14px; gap: 12px; }
  .menu-toggle:not([hidden]) { display: flex; margin-left: auto; }
  .js-ready #main-nav { display: none; }
  .js-ready #main-nav.is-open { display: flex; }
  #main-nav { flex-basis: 100%; gap: 6px; padding-bottom: 7px; flex-direction: column; align-items: stretch; }
  #main-nav > a { padding: 11px 12px !important; min-height: 44px; }
  #main-nav .button { margin-top: 7px; }
}
@media(min-width:1500px){.hero-grid{padding-block:105px 95px}.hero-actions{gap:25px}.hero h1{font-size:82px}}
@media(max-width:1100px){.container{width:calc(100% - 48px)}.hero-grid{gap:35px}.hero h1{font-size:58px}.hero-actions{gap:12px}.hero-description{font-size:15px}.product-strip{gap:20px}.product-strip ul{gap:12px;font-size:10px}.report-panel{grid-template-columns:1.7fr 1fr}.report-caption{padding:22px}.report-caption h3{font-size:20px}.tools-grid{gap:0 35px}.faq-grid{gap:45px}}
@media(max-width:800px){html{scroll-padding-top:90px}.nav-shell{min-height:74px;flex-wrap:wrap;padding-block:14px;gap:12px}.brand{font-size:19px}.brand img{width:34px;height:34px}.menu-toggle:not([hidden]){display:flex;margin-left:auto}.js-ready #main-nav{display:none}.js-ready #main-nav.is-open{display:flex}#main-nav{flex-basis:100%;gap:6px;padding-bottom:7px;flex-direction:column;align-items:stretch}#main-nav>a{padding:11px 12px!important;min-height:44px}#main-nav .button{margin-top:7px}.hero-grid{grid-template-columns:1fr;gap:48px;padding-block:56px 44px}.hero-copy{max-width:620px}.hero h1{font-size:clamp(48px,8.5vw,68px)}.desktop-break{display:none}.hero-description{font-size:16px;max-width:530px}.hero-actions{gap:20px}.hero-note{margin-top:16px}.hero-visual{width:100%;max-width:640px;margin-inline:auto}.video-frame{transform:none}.hero-visual:before{width:480px;height:480px}.product-strip{align-items:flex-start;flex-direction:column;gap:14px}.product-strip ul{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;font-size:12px}.section{padding-block:65px}.section-heading{align-items:flex-start;flex-direction:column;gap:20px;margin-bottom:30px}.section-heading>p{font-size:14px}.section-heading>p br{display:none}.report-panel{display:block}.report-image{border-right:0;border-bottom:1px solid var(--line);padding:16px}.report-caption{padding:25px}.report-caption p{font-size:14px;max-width:580px}.report-caption h3{font-size:24px}.report-labels{flex-direction:row;flex-wrap:wrap;margin-top:18px}.report-tabs button{gap:8px;padding:17px 10px}.report-tabs button span{font-size:11px}.tools-grid{gap:0 28px}.tool{flex-direction:column;gap:20px}.tool h3{font-size:20px}.tool p{font-size:13px}.workflow-steps{gap:25px}.workflow-steps h3{font-size:20px}.workflow-steps p{font-size:13px}.faq-grid{grid-template-columns:1fr;gap:32px}.faq-grid h2 br{display:none}.faq-grid>div>p:not(.eyebrow){margin-top:16px}.final-cta{margin-top:60px;padding:55px 24px}.site-footer{flex-wrap:wrap;gap:14px;padding-block:30px}.site-footer>span{order:3;flex-basis:100%}}
@media(max-width:480px){.container{width:calc(100% - 36px)}.hero-grid{padding-block:42px 35px;gap:32px}.hero h1{font-size:clamp(42px,12.1vw,57px)}.eyebrow{font-size:9px;letter-spacing:.14em;margin-bottom:19px}.hero-description{font-size:14px;line-height:1.85;margin-top:22px}.hero-actions{align-items:stretch;flex-direction:column;gap:8px;margin-top:24px}.hero-actions .text-button{min-height:46px}.hero-note{font-size:10px;text-align:center}.hero-visual:before{display:none}.frame-toolbar{font-size:7px;gap:8px;padding:10px}.frame-caption{padding:11px 12px}.frame-caption strong{font-size:11px}.frame-caption>span>span{font-size:9px}.preview-toggle{font-size:9px;padding:6px 9px}.video-play{width:54px;height:54px}.visual-note{font-size:9px;margin-top:16px;gap:8px}.product-strip{padding-block:20px}.product-strip ul{font-size:10px;gap:9px}.product-strip li:before{margin-right:6px}.product-strip>span{font-size:8px}.section{padding-block:52px}.report-tabs{display:grid;grid-template-columns:1fr 1fr}.report-tabs button{justify-content:flex-start;min-height:52px;padding:12px 16px}.report-tabs button:nth-child(2){border-right:0}.report-tabs button:nth-child(-n+2){border-bottom:1px solid var(--line)}.report-tabs button[aria-selected=true]{box-shadow:inset 0 -2px var(--teal)}.report-image{padding:9px}.report-caption{padding:23px 20px}.report-caption h3{font-size:23px}.image-credit{text-align:left;font-size:9px}.tools-grid{grid-template-columns:1fr}.tool{flex-direction:row;gap:16px;padding:27px 0}.tool-icon{width:40px;height:40px;border-radius:8px}.tool h3{font-size:19px}.tool p{font-size:13px;margin-top:11px}.tool-detail{font-size:8px;letter-spacing:.06em}.workflow-steps{grid-template-columns:1fr;gap:32px;margin-top:0}.workflow-steps li{padding:0 0 0 58px;border-top:0}.step-number{left:0;top:0}.workflow-steps h3{margin:0;font-size:22px}.workflow-steps p{font-size:14px;margin-top:12px}.tour-link{font-size:12px;gap:6px;margin-top:28px}.tour-link svg:last-child{margin-left:5px}.faq-list summary{font-size:14px;padding-block:22px}.final-cta{padding:45px 20px;margin-top:48px}.final-cta h2{font-size:34px}.final-cta>p:not(.eyebrow){font-size:14px}.final-cta .eyebrow{font-size:8px}.final-cta .button{width:100%;padding-inline:10px;font-size:12px}.site-footer .brand{font-size:15px}.site-footer>span{font-size:10px}.dialog-heading{padding:16px}.dialog-heading h2{font-size:19px}.dialog-heading .eyebrow{font-size:8px}dialog>p{padding:14px 16px;font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
