/* Approved V3 shell, shared across homepage and inner pages. */
.site-header{background:#fff}
.site-header .header-inner{min-width:0;gap:20px}
.site-header .desktop-nav{flex:1;justify-content:center;gap:18px;margin:0;min-width:0}
.site-header .desktop-nav>a,.site-header .nav-group>summary{font-size:13px;font-weight:650;white-space:nowrap}
.site-header .nav-group{position:relative}
.site-header .nav-group>summary{display:flex;align-items:center;min-height:46px;padding:8px 0;cursor:pointer;list-style:none}
.site-header .nav-group>summary::-webkit-details-marker{display:none}
.site-header .nav-group>summary:after,.site-header .mobile-nav-group>summary:after{display:none;content:none}
.site-header .nav-group[data-group-active],.site-header .nav-group>summary[data-group-active],.site-header .mobile-nav-group>summary[data-group-active],.site-header a[aria-current=page]{color:var(--forest);font-weight:800}
.site-header .nav-group>summary[data-group-active]{box-shadow:inset 0 -2px var(--forest)}
.site-header .nav-panel{position:absolute;top:100%;left:-14px;width:300px;max-height:min(72svh,620px);overflow:auto;padding:9px;border:1px solid var(--line);border-radius:9px;background:#fff;box-shadow:0 20px 50px rgba(18,63,31,.16)}
.site-header .nav-panel a{display:block;padding:9px 10px;border-radius:5px;font-size:12px;line-height:1.4;white-space:normal}
.site-header .nav-panel a:after{display:none}
.site-header .nav-panel a:hover,.site-header .nav-panel a:focus-visible{background:#f1f5ee}
.site-header .nav-panel strong{display:block;color:var(--forest);font-size:13px}
.site-header .nav-panel span{display:block;color:#59685e;font-size:11px;font-weight:400}
.site-header .nav-panel-modules{left:50%;width:min(610px,calc(100vw - 44px));transform:translateX(-32%);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px 8px}
.site-header .nav-panel-modules a:first-child{grid-column:1/-1;border-bottom:1px solid var(--line);font-weight:800}
.site-header .header-actions{gap:16px;margin-left:0}
.site-header .header-search{background:none;border:0;color:var(--forest);font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.site-header .login-link{min-height:40px;padding:8px 13px;border:1px solid var(--forest);border-radius:7px;background:#fff;color:var(--forest);font-size:12px;font-weight:700}
.site-header .login-link:hover,.site-header .login-link:focus-visible{background:#f5f8f5}
.site-header .header-demo{font-size:12px;min-height:44px;max-width:185px;padding:10px 15px;white-space:normal;text-align:center}
.site-header .mobile-menu{position:fixed;inset:76px 0 auto;z-index:45;max-height:calc(100svh - 76px);overflow:auto;padding:18px max(22px,calc((100vw - var(--page))/2)) 30px;box-shadow:0 20px 30px rgba(18,63,31,.12)}
.site-header .mobile-nav-group{border-bottom:1px solid var(--line)}
.site-header .mobile-nav-group>summary{padding:13px 4px;font-weight:750;cursor:pointer}
.site-header .mobile-nav-group>a{display:block;padding:9px 12px 9px 18px;font-size:13px;line-height:1.5;white-space:normal}
.site-header .mobile-search{padding:12px 4px;text-align:left;background:none;border:0;color:var(--forest);font:inherit;font-weight:750;cursor:pointer}
.site-header .mobile-sherman{align-self:stretch;margin-top:12px;white-space:normal;text-align:center}
.site-header .mobile-menu>a{display:block;padding:11px 4px;font-size:13px}
.site-header .mobile-menu .mobile-login{display:inline-flex;align-self:flex-start;align-items:center;min-height:40px;margin-top:8px;padding:8px 13px;border:1px solid var(--forest);border-radius:7px;background:#fff;color:var(--forest);font-size:12px;font-weight:700}
.site-header .mobile-menu .mobile-login:hover,.site-header .mobile-menu .mobile-login:focus-visible{background:#f5f8f5}
.site-footer{padding-top:34px;border-top:1px solid var(--line)}
.site-footer .footer-main{display:grid;grid-template-columns:1.5fr repeat(3,minmax(0,1fr)) .85fr;gap:26px;padding-top:0;padding-bottom:28px}
.site-footer .footer-brand p{max-width:290px;margin-top:12px;font-size:12.5px}
.site-footer .footer-nav h2,.site-footer .footer-apps h2{margin:0 0 9px;font-size:13px;letter-spacing:0;line-height:1.4}
.site-footer .footer-nav{min-width:0}
.site-footer .footer-nav a{display:block;padding:4px 0;color:#59685e;font-size:12.5px;line-height:1.5;overflow-wrap:anywhere}
.site-footer .footer-nav a:hover,.site-footer .footer-nav a[aria-current=page]{color:var(--forest);text-decoration:underline}
.site-footer .footer-apps img{display:block;width:104px;height:auto;margin-bottom:7px}
.site-footer .footer-bottom{display:flex;justify-content:space-between;gap:18px;padding-block:14px}
.site-footer .footer-bottom>div{display:flex;flex-wrap:wrap;gap:8px 18px}
.site-footer .footer-bottom a,.site-footer .footer-bottom p,.site-footer .preview-disclosure-bar{font-size:11px;color:#617166}
@media(max-width:1250px){.site-header .desktop-nav{gap:12px}.site-header .header-inner{gap:12px}.site-header .header-actions{gap:10px}.site-footer .footer-main{gap:18px}}
@media(max-width:1100px){.site-header .desktop-nav,.site-header .login-link{display:none}.site-header .menu-toggle{display:block}.site-header .header-actions{margin-left:auto}}
@media(max-width:860px){.site-footer .footer-main{grid-template-columns:1.4fr repeat(3,minmax(0,1fr))}.site-footer .footer-apps{grid-column:1/-1;display:flex;align-items:center;gap:12px}.site-footer .footer-apps h2{margin-right:10px}.site-footer .footer-apps img{width:104px;margin:0}}
@media(max-width:760px){.site-header .header-inner{height:72px}.site-header .header-demo{display:none}.site-header .mobile-menu{inset:72px 0 auto;max-height:calc(100svh - 72px)}.site-footer .footer-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.site-footer .footer-brand,.site-footer .footer-apps{grid-column:1/-1}.site-footer .footer-bottom{flex-direction:column;align-items:flex-start}}
/* Shared module symbols use the exact approved tile treatment. */
.module-button .challenge-icon,.module-dialog .challenge-icon{flex:none;--solution-accent:#2c8c49;display:grid;width:52px;height:52px;place-items:center;margin-bottom:24px;border:1px solid #dce5df;border-radius:14px;background:#f4f1e8;color:var(--forest);transition:background-color .18s,border-color .18s,color .18s}
.module-button .solution-icon,.module-dialog .solution-icon{width:30px;height:30px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}
.module-button:is(:hover,:focus-visible) .challenge-icon{--solution-accent:#fff;border-color:var(--forest);background:var(--forest);color:#fff}
.module-dialog .challenge-icon{margin-bottom:14px}
.platform-product>img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}
.mobile-app-preview{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap}
.content-hero .mobile-app-preview>img{display:block;width:min(100%,330px);height:auto;object-fit:contain}
.mobile-app-downloads{display:flex;flex-direction:column;align-items:flex-start;gap:9px}
.mobile-app-downloads a img{display:block;width:136px;height:auto}
.mobile-app-download-block{margin:16px 0 26px;padding:18px 20px;background:#f4f1e8;border-radius:8px}
.mobile-app-download-block p{margin:0 0 10px}
.mobile-app-download-block .mobile-app-downloads{flex-direction:row;flex-wrap:wrap;gap:10px}
.mobile-app-video{display:block;background:#102b23;min-height:0;aspect-ratio:16/9;object-fit:contain}
.voice-card,.voice-logo{min-width:0;max-width:100%}
@media(max-width:760px){.mobile-app-preview{flex-direction:column}.mobile-app-downloads{flex-direction:row;flex-wrap:wrap}}
@media(max-width:520px){.voice-logo{width:100%;overflow:hidden}.voice-logo img,.voice-card:nth-child(1) .voice-logo img,.voice-card:nth-child(2) .voice-logo img,.voice-card:nth-child(3) .voice-logo img{max-width:100%;height:auto;max-height:90px;transform:none}}
