/* Shared public website identity. Loaded after page-specific layout styles. */
:root{--primary:#151a32;--heading:#151a32;--body:#636978;--light:#f7f8fa;--soft-shadow:0 4px 18px #151a3208}
body,body *{font-family:'DM Sans',Arial,sans-serif}
h1,h2,h3,h4,h5,h6,.section-title{font-family:Manrope,Arial,sans-serif;letter-spacing:-.035em;color:#151a32;font-weight:500}
body{color:#636978;background:#fff}
#topnav{border:0;box-shadow:0 1px 0 #151a320d;padding:16px 0}
#topnav .nav-logo{width:225px;height:auto;max-width:100%;filter:none}
#topnav .nav-link,#topnav .btn{font-family:'DM Sans',Arial,sans-serif;font-size:13px}
#topnav:not(.navbar-sol--overlay) .nav-link{color:#151a32}
#topnav .nav-link:hover,#topnav .nav-link.active{color:#9a6a0a}
#topnav:not(.navbar-sol--overlay) .btn-primary{background:transparent;color:#151a32;border:1px solid #151a32;box-shadow:none}
#topnav.navbar-sol--overlay:not(.scrolled){border:0;box-shadow:none}
:is(.about-hero,.contact-hero,.pricing-hero,.int-hero,.sec-hero,.legal-hero,.privacy-hero,.status-hero,.mod-hero){background:#fff;border-bottom:0;padding:clamp(32px,4vw,52px) 24px}
:is(.about-hero,.contact-hero,.pricing-hero,.int-hero,.sec-hero,.legal-hero,.privacy-hero,.status-hero,.mod-hero) h1{font-family:Manrope,Arial,sans-serif;font-size:clamp(27px,3vw,38px);font-weight:500;letter-spacing:-.03em;line-height:1.25;color:#151a32;max-width:800px;margin-bottom:14px;margin-left:auto;margin-right:auto}
:is(.about-hero,.contact-hero,.pricing-hero,.int-hero,.sec-hero,.legal-hero,.privacy-hero,.status-hero,.mod-hero) p{color:#636978;font-size:15px;line-height:1.65;margin-bottom:0}
.section-title{font-size:clamp(24px,2.5vw,30px);font-weight:500;line-height:1.25}
/* Headings stand on their own, without decorative labels. */
.section-label,.eyebrow,.about-badge,.int-hero-badge,.sec-badge{display:none}
.section-alt,.how,.module-pricing,.how-connect{background:#f7f8fa}
:is(.feature-card,.problem-card,.module-card,.int-card,.sec-card,.contact-card,.pricing-card,.request-card,.picker-body,.role-card){border:1px solid #e3e6ed;border-radius:12px;box-shadow:0 4px 18px #151a3205;background:#fff}
:is(.feature-card,.problem-card,.module-card,.int-card,.sec-card) h3,:is(.feature-card,.problem-card,.module-card,.int-card,.sec-card) h4{color:#151a32;font-family:Manrope,Arial,sans-serif}
.cta-section{background:#f7f8fa;color:#151a32;border-top:1px solid #e3e6ed}
.cta-section h2{color:#151a32;font-weight:500;font-family:Manrope,Arial,sans-serif}
.cta-section p{color:#636978}
.btn-cta,.btn-contact,.btn-go,.btn-primary-int,.btn-primary-mod,.btn-plan-featured{background:#ffb320;color:#151a32;border:1px solid #ffb320;box-shadow:none;border-radius:6px;font-weight:600}
.btn-cta:hover,.btn-contact:hover,.btn-go:hover,.btn-primary-int:hover,.btn-primary-mod:hover,.btn-plan-featured:hover{background:#ffc44e;color:#151a32;border-color:#ffc44e}
.btn-cta-outline,.btn-outline-int{color:#151a32;border-color:#151a32;background:transparent}
.pricing-card.featured{background:#f7f8fa;border-color:#d8dce5;color:#151a32}
.featured .plan-features li,.featured .plan-name,.featured .plan-price-note{color:#636978}
.featured .check-yes{color:#278166}
.featured .plan-divider{border-color:#e6d7b9}
.form-control,.form-select{border-color:#d8dce5;border-radius:6px}
.form-control:focus,.form-select:focus{border-color:#b8872c;box-shadow:0 0 0 3px #ffb32020}
.legal-body,.privacy-body{max-width:820px;padding-top:55px;padding-bottom:80px}
.legal-body p,.legal-body li,.privacy-section p,.privacy-section li{font-size:15px;line-height:1.85;color:#51596b}
.picker-wrap{background:#f7f8fa;padding:65px 20px}
.picker-header h1{font-family:Manrope,Arial,sans-serif;font-weight:500;font-size:32px}
.pub-footer-main{background:#11162e;border:0;color:#c5cad9;padding-top:55px}
.pub-footer-logo{width:225px;height:auto;max-width:100%;filter:none;opacity:1}
.pub-footer-heading{color:#fff;font-size:12px}
.pub-footer-tagline,.pub-footer-links a,.pub-footer-newsletter-sub,.pub-footer-socials a{color:#c5cad9}
.pub-footer-links a:hover,.pub-footer-socials a:hover,.pub-footer-bottom a:hover{color:#ffb320}
.pub-footer-newsletter-form{max-width:none;flex-wrap:wrap}
.pub-footer-newsletter-input{min-width:0;width:100px;background:#ffffff0a;color:#fff;border-color:#ffffff35}
.pub-footer-newsletter-input::placeholder{color:#aeb5ca}
.pub-footer-newsletter-btn{background:#ffb320;color:#151a32}
.pub-footer-newsletter-btn:hover{background:#ffc44e}
.pub-footer-bottom,.pub-footer-bottom a{border-top-color:#ffffff20;color:#aeb5ca}
@media(max-width:600px){#topnav .nav-logo{width:185px}.pub-footer-main{padding:40px 22px 0}.pub-footer-logo{width:200px}.section-title{letter-spacing:-.025em}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.status-hero .status-badge{margin-bottom:16px;font-size:12px;padding:7px 14px}
/* Inner-page titles use the same typography as content section titles. */
:is(.about-hero,.contact-hero,.pricing-hero,.int-hero,.sec-hero,.legal-hero,.privacy-hero,.status-hero,.mod-hero){text-align:center}
.section-title,:is(.about-hero,.contact-hero,.pricing-hero,.int-hero,.sec-hero,.legal-hero,.privacy-hero,.status-hero,.mod-hero) h1{font-family:Manrope,Arial,sans-serif;font-size:clamp(24px,2.5vw,30px);font-weight:500;letter-spacing:-.018em;line-height:1.25;color:#151a32}
:is(.about-hero,.contact-hero,.pricing-hero,.int-hero,.sec-hero,.legal-hero,.privacy-hero,.status-hero,.mod-hero) p{font-family:'DM Sans',Arial,sans-serif;font-size:.95rem;font-weight:400;line-height:1.7;color:#6c757d}

.public-intro{margin:0 0 32px;text-align:center}
.public-intro h1{font-size:clamp(24px,2.5vw,30px);font-weight:500;letter-spacing:-.018em;line-height:1.25;margin:0 0 14px}
.public-intro p{font-size:.95rem;line-height:1.7;color:#6c757d;margin:0 auto;max-width:700px}
.status-hero,.mod-hero{background:white;border:0;padding-bottom:0}

.status-intro{grid-column:1 / -1;flex-basis:100%;margin-bottom:8px}
