/* MyTherapyWizard site shell: banner, header, footer. Prefixed s- so it never collides with page CSS. */
.s-banner{background:#0B4440;color:#FFFFFF;font-family:'Nunito Sans',system-ui,sans-serif;font-size:14px;font-weight:600;text-align:center;padding:9px 16px;line-height:1.4}
.s-banner strong{color:#B2DB48;font-weight:800}
.s-banner-link{color:#FFFFFF;font-weight:800;text-decoration:underline;text-underline-offset:3px;white-space:nowrap;margin-left:6px}
.s-banner-link:hover{color:#B2DB48}
.s-logo{display:flex;align-items:center;flex:none}
.s-header .s-logo-mark{display:none;height:34px;width:auto}
html{scroll-padding-top:90px}
.s-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,0.97);border-bottom:1px solid #E3ECEA;font-family:'Nunito Sans',system-ui,sans-serif}
.s-header *{box-sizing:border-box}
.s-header-in{max-width:1180px;margin:0 auto;padding:0 24px;min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.s-logo img{height:34px;width:auto;display:block}
.s-nav{display:flex;gap:26px;align-items:center}
.s-nav a{color:#2C2C2A;text-decoration:none;font-weight:700;font-size:16px;white-space:nowrap}
.s-nav a:hover,.s-nav a[aria-current="page"]{color:#0E5F5A}
.s-nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px;text-decoration-color:#2CB2A8}
.s-actions{display:flex;align-items:center;gap:16px}
.s-signin{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:999px;border:2px solid #2CB2A8;color:#0E5F5A;text-decoration:none;font-weight:800;white-space:nowrap}
.s-signin:hover{background:#EAF7F6}
.s-cta{display:inline-flex;align-items:center;white-space:nowrap;min-height:46px;padding:0 22px;border-radius:999px;background:#2CB2A8;color:#06302D !important;font-weight:800;text-decoration:none;font-size:16px}
.s-cta:hover{background:#27a197}
.s-menu{display:none;position:relative}
.s-menu summary{list-style:none;cursor:pointer;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;border-radius:12px;border:2px solid #CFE3E0;color:#0B4440}
.s-menu summary::-webkit-details-marker{display:none}
.s-menu-panel{position:absolute;right:0;top:52px;background:#FFFFFF;border:1px solid #E3ECEA;border-radius:16px;box-shadow:0 18px 40px rgba(11,68,64,0.18);padding:10px;display:flex;flex-direction:column;min-width:220px}
.s-menu-panel a{padding:12px 14px;border-radius:10px;color:#0B4440;text-decoration:none;font-weight:700}
.s-menu-panel a:hover{background:#F3F6F5}
.s-footer{background:#0B4440;color:#D3E9E6;padding:56px 0 40px;font-family:'Nunito Sans',system-ui,sans-serif}
.s-footer *{box-sizing:border-box}
.s-footer-in{max-width:1180px;margin:0 auto;padding:0 24px;display:flex;flex-direction:column;gap:32px}
.s-footer-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.s-footer-cols div{display:flex;flex-direction:column;gap:8px}
.s-footer strong{color:#FFFFFF}
.s-footer a{color:#D3E9E6}
.s-footer a:hover{color:#FFFFFF}
.s-footer-brand{font-family:Nunito,sans-serif;font-size:22px}
.s-footer-base{border-top:1px solid rgba(255,255,255,0.18);padding-top:22px;font-size:14px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}
@media (max-width:1040px){
.s-nav{display:none}
.s-menu{display:block}
}
@media (max-width:900px){
.s-footer-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
.s-footer-cols div{gap:2px}
.s-footer-cols a{padding:6px 0}
.s-header-in{padding:0 16px}
}
@media (max-width:480px){.s-header .s-logo-full{display:none !important}.s-header .s-logo-mark{display:block !important}.s-cta,.s-signin{padding:0 13px;font-size:15px;min-height:44px}.s-header-in{gap:8px}.s-actions{gap:8px}}
