/* Header and footer match the public site's branding (reviewed October 2026). */
.top,.footer{font-family:'Open Sans',sans-serif;line-height:normal;font-size:16px;--theme-color:#0077cc}
.top ul,.footer ul{display:flex;list-style:none;margin:0;padding:0}.top a,.footer a{text-decoration:none}.top .content,.footer .content{width:auto}.top .logo{padding:0;flex-shrink:0}.top .logo img{display:block;width:400px;height:100px}.top .nav{display:block;position:static;padding:0;box-shadow:none;border:0;background:none}.top .nav a{display:block;white-space:nowrap;color:#000}.top .content{align-items:stretch}.top .nav-toggle{align-self:center}.top .logo a{display:block}.footer h3{font-size:19.2px;font-weight:600;line-height:1.2;margin-top:0}.footer p{margin:0;color:inherit;line-height:normal}.footer a{font-size:inherit;color:inherit}.footer .footerbody{padding:0}.footer .footerbody .footer_sections{display:flex;grid-template-columns:none;align-items:stretch}.footer .footerbody .footer_sections>li{min-width:0}.footer .footerbody .footer_sections img{display:block;width:220px}.footer .footerbody .footer_sections li li{margin-top:0;flex:auto}.footer .footerbody .footer_sections li li svg{margin:0}.footer .truststrip{padding:0}.footer .bottomline .content{margin:0 auto}.footer .bottomline .footer_tagline{display:block;max-width:none}.footer .contact_btn{text-decoration:none}.footer .footerbody .footer_sections li:last-child p a{overflow-wrap:anywhere}
.top .content, .footer .content { max-width: 1040px; margin: 0px auto; }
.container.top { border-bottom: 1px solid rgb(226, 232, 240); }
.top .content { display: flex; flex-direction: row; justify-content: space-between; height: 100px; }
.top .nav li { height: 100%; display: flex; align-items: center; }
.top .nav ul { height: 100%; gap: 0px 2px; }
.top .nav li a { padding: 10px; border-radius: 2px; text-transform: uppercase; font-size: 0.9rem; }
.nav-toggle span { background-color: var(--theme-color); display: block; width: 24px; height: 2px; border-radius: 2px; transition: transform 0.25s, opacity 0.2s; }
.nav-toggle { cursor: pointer; display: none; position: relative; width: 44px; height: 44px; padding: 0px; border: 0px; background: 0px 0px; align-items: center; justify-content: center; flex-direction: column; gap: 5px; }
.top .nav li a:hover, .top .nav li a.active { color: rgb(255, 255, 255); background-color: var(--theme-color); }
.container.footer { background-color: rgb(17, 24, 39); border-top: 1px solid rgba(255, 255, 255, 0.08); color: rgb(203, 213, 225); padding: 0px; overflow: hidden; }
.footer .content { padding: 10px 0px; }
.footer .footerbody { margin-bottom: 40px; }
.footer .footerbody .footer_sections { margin: 0px; gap: 20px; }
.footer .footerbody .footer_sections li:first-child { flex: 2 1 0%; border-left-width: medium; border-left-style: none; border-left-color: currentcolor; }
.footer .footerbody .footer_sections li:first-child div { padding-left: 0px; }
.footer .footerbody .footer_sections li:first-child p { color: rgb(203, 213, 225); font-size: inherit; line-height: 1.6; margin-bottom: 0px; max-width: 340px; }
.footer .footerbody .footer_sections li:first-child img { max-width: 250px; height: auto; margin-bottom: 20px; border-radius: 50px; }
.footer .footerbody .footer_sections li { flex: 1 1 0%; border-left: 1px solid; border-image: linear-gradient(transparent 15%, rgba(255, 255, 255, 0.15) 35%, rgba(255, 255, 255, 0.15) 50%, transparent 70%, transparent 100%) 1 / 1 / 0 stretch; }
.footer .footerbody .footer_sections li div { padding-left: 20px; font-size: 1rem; }
.footer .footerbody .footer_sections h3 { display: inline-block; color: rgb(255, 255, 255); margin-bottom: 20px; position: relative; padding-bottom: 12px; }
.footer .footerbody .footer_sections h3::after { content: ""; position: absolute; left: 0px; bottom: 0px; width: 45px; height: 3px; background: var(--theme-color); border-radius: 20px; }
.footer .footerbody .footer_sections h3::before { content: ""; margin: 0px; }
.footer .footerbody .footer_sections li ul { flex-direction: column; font-size: inherit; }
.footer .footerbody .footer_sections li li { border-width: medium; border-style: none; border-color: currentcolor; border-image: none; margin-bottom: 10px; font-size: inherit; color: rgb(229, 231, 235); }
.footer .footerbody .footer_sections li li a { color: inherit; font-size: inherit; transition: 0.5s; display: flex; align-items: center; gap: 5px; }
.footer .footerbody .footer_sections li li a svg { width: 8px; height: 8px; color: var(--theme-color); flex-shrink: 0; }
.footer .footerbody .footer_sections li li a:hover { padding-left: 5px; color: rgb(255, 255, 255); }
.footer .footerbody .footer_sections li:last-child p { font-size: inherit; margin-bottom: 10px; }
.footer .footerbody .footer_sections li:last-child a { font-size: inherit; }
.footer .footerbody .footer_sections li:last-child a span { display: inline-block; }
.footer .footerbody .footer_sections li:last-child a.contact_btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; margin-top: 20px; padding: 13px 24px; background: linear-gradient(135deg, var(--theme-color), #3399e6); color: rgb(255, 255, 255); border: 1px solid rgba(255, 255, 255, 0.08); border-radius: 30px; font-size: 0.95rem; font-weight: 600; text-decoration: none; overflow: hidden; position: relative; transition: 0.4s cubic-bezier(0.22, 1, 0.36, 1); }
.footer .footerbody .footer_sections li:last-child a.contact_btn::before { content: ""; position: absolute; top: 0px; left: -120%; width: 60%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent); transform: skewX(-25deg); transition: left 0.7s; }
.footer .footerbody .footer_sections li:last-child a.contact_btn svg { width: 16px; height: 16px; transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1); }
.footer .footerbody .footer_sections li:last-child a.contact_btn:hover { background: linear-gradient(135deg, #006bb8, var(--theme-color)); color: rgb(255, 255, 255); transform: translateY(-2px); box-shadow: rgba(0, 119, 204, 0.28) 0px 12px 30px; }
.footer .footerbody .footer_sections li:last-child a.contact_btn:hover svg { transform: translateX(4px); }
.footer .truststrip { background: rgba(255, 255, 255, 0.03); border-top: 1px solid rgba(255, 255, 255, 0.08); border-bottom: 1px solid rgba(255, 255, 255, 0.08); margin-bottom: 40px; }
.footer .truststrip ul { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin: 0px; }
.footer .truststrip li .trust_item { display: flex; align-items: center; justify-content: center; gap: 5px; color: rgb(229, 231, 235); font-weight: 600; font-size: 0.95rem; transition: 0.35s cubic-bezier(0.22, 1, 0.36, 1); }
.footer .truststrip li .trust_item:hover { transform: translateY(-3px); color: rgb(255, 255, 255); }
.footer .truststrip li .trust_icon { width: 46px; height: 46px; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: 0.35s cubic-bezier(0.22, 1, 0.36, 1); background-color: rgba(0, 119, 204, 0.15); color: rgb(0, 119, 204); }
.footer .truststrip li .trust_icon svg { width: 22px; height: 22px; stroke-width: 2; transition: 0.35s; }
.footer .bottomline { padding: 40px 20px; text-align: center; border-top: 1px solid rgba(255, 255, 255, 0.08); background: rgb(11, 18, 32); }
.footer .bottomline .footer_tagline { margin: 0px 0px 12px; color: rgb(203, 213, 225); font-size: 1rem; font-weight: 500; line-height: 1.8; letter-spacing: 0.2px; }
.footer .bottomline .footer_copyright { margin: 0px; color: rgb(148, 163, 184); font-size: 0.9rem; line-height: 1.7; }
@media (max-width: 991px){.top .content, .footer .content { max-width: 100%; width: 100%; padding: 0px 16px; }
.top .content { display: grid; grid-template-columns: 1fr auto; height: auto; align-items: center; }
.top .logo { padding: 10px 0px; text-align: left; }
.top .logo img { max-width: 90%; height: auto; }
.nav-toggle { display: flex; flex-shrink: 0; }
.nav-toggle.nav-active span:first-child { transform: translateY(7px) rotate(45deg); }
.nav-toggle.nav-active span:nth-child(2) { opacity: 0; }
.nav-toggle.nav-active span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.top .nav { display: none; grid-column: 1 / -1; }
.top .nav.nav-open { display: block; }
.top .nav.nav-open ul { display: flex; flex-direction: column; width: 100%; gap: 0px; margin: 0px; padding: 10px 0px; }
.top .nav.nav-open li { display: block; width: 100%; height: auto; }
.top .nav.nav-open li a { display: block; width: 100%; padding: 14px 16px; text-align: left; font-size: 0.9rem; border-radius: 2px; }
.footer .content { padding: 10px; }}
@media (max-width: 767px){.footer ul { flex-direction: column; }
.footer .truststrip ul { grid-template-columns: repeat(2, 1fr); gap: 10px; margin: 0px auto; max-width: 90%; }
.footer .truststrip li .trust_item { justify-content: left; }
.footer .footerbody .footer_sections li:first-child p { max-width: 100%; }
.footer .footerbody .footer_sections li { border-left: 0px; }}



@media(max-width:1190px) and (min-width:992px){.top .content,.footer .content{margin:0 auto}.top .logo img{width:400px}.top .nav a{font-size:14.4px;padding:10px}}
@media(max-width:991px){.top .content{margin:0;padding:0 16px;width:100%;position:static}.top .logo{flex-shrink:1}.top .logo img{width:400px;height:auto}.top .nav{position:static;left:auto;right:auto;top:auto;border:0;box-shadow:none;padding:0}.top .nav ul{height:auto}.top .nav-toggle{display:flex}.top .nav-toggle[aria-expanded=true] span:first-child{transform:translateY(7px) rotate(45deg)}.top .nav-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.top .nav-toggle[aria-expanded=true] span:last-child{transform:translateY(-7px) rotate(-45deg)}.footer .content{margin:0;width:100%}.footer .footerbody .footer_sections{gap:20px}}
@media(min-width:992px){.top .nav-toggle{display:none}}
@media(max-width:767px){.footer .footerbody .footer_sections{flex-direction:column}.footer .footerbody .footer_sections>li>div{padding-left:0}.footer .footerbody .footer_sections>li{flex:auto}.footer .footerbody .footer_sections img{width:220px}.footer .truststrip li .trust_item{font-size:15.2px}.footer .bottomline{padding:40px 20px}}
@media(max-width:360px){.footer .truststrip ul{max-width:100%;gap:10px 5px}.footer .truststrip li .trust_item{font-size:13px}.footer .truststrip li .trust_icon{width:36px;height:36px}}
/* Keep the full navigation within smaller desktop widths. */
@media(min-width:992px) and (max-width:1072px){.top .content{width:100%;padding:0 16px}.top .logo{display:flex;align-items:center}.top .logo img{width:340px;height:auto}.top .nav li a{padding:10px 8px}}

/* Controls share geometric icons, independent of mobile font baselines. */
.control-arrow{display:block;width:20px;height:20px;flex:0 0 20px;align-self:center}.back-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;line-height:1.2}.primary{line-height:1.2}.period-card summary:after{content:'';display:block;width:16px;height:16px;flex:0 0 16px;border:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2365788b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center/16px 16px no-repeat;transform:none;align-self:center;margin:0}.period-card[open] summary:after{content:'';transform:rotate(180deg);margin:0}
select{-webkit-appearance:none;appearance:none;background-size:16px 16px!important;background-position:right 14px center!important;background-origin:padding-box;background-repeat:no-repeat;line-height:normal;padding-top:0;padding-bottom:0;padding-right:42px!important}.appearance-body select{font-size:16px}.ssn-prefix>span{font-size:16px;color:var(--ink);padding-left:14px;line-height:1;flex-shrink:0;font-variant-numeric:tabular-nums}.ssn-prefix input{padding-left:0;font-variant-numeric:tabular-nums}.ssn-prefix:has(span[hidden]) input{padding-left:14px}.schedule-hint{margin:0 0 18px}#schedule-status{margin:0 0 16px}#schedule-status:empty{display:none}#schedule-dialog{max-width:520px;padding:28px}#schedule-title{font-size:23px;line-height:1.3}#schedule-description{margin-top:18px;color:var(--muted);font-size:14px;line-height:1.8}
@media(max-width:560px){.period-label{min-width:0}.period-card summary{gap:9px}.period-date{margin-left:auto;white-space:nowrap}.period-card summary:after{margin-left:1px}#schedule-dialog{padding:24px}.ssn-prefix>span{font-size:16px}}

.calculation-status{font-size:13px;color:var(--muted);line-height:1.7;margin:12px 0}.calculation-status:empty{display:none}.calculation-status[data-error=true]{color:#a93343}.template-card-select img{height:112px;object-fit:contain}@media(max-width:620px){.template-card-select img{height:100px}}

.intro .eyebrow{display:flex;align-items:center;justify-content:center;gap:7px;width:fit-content;max-width:100%;margin-left:auto;margin-right:auto;text-align:center}.intro .eyebrow>span{margin:0}

.upload-status[data-state="loading"]{color:#4a718e}
