/* QbitPatch_001: a light geometric identity; functional page styles remain in modern.css. */
#header.qbit-header {
  background:linear-gradient(105deg,#fff 12%,#f2faf6 70%,#e7f5ed);
  border-bottom:1px solid #cfe4d9; box-shadow:0 4px 18px rgba(35,70,55,.045);
}
#header.qbit-header::after {height:3px; background:linear-gradient(90deg,#14796b 0 17%,#d1e8bc 17% 35%,#e9ba76 35% 44%,transparent 44%);}
#header.qbit-header .hdr-wrap {display:grid; grid-template-columns:minmax(0,1fr) auto; gap:32px;
  max-width:1450px; width:calc(100% - 64px); margin:0 auto; padding:24px 0; align-items:center;}
#header.qbit-header .hdr-left {min-width:0; padding:0;}
#header.qbit-header .brand {gap:22px;}
#header.qbit-header .brand-logo {width:106px; height:88px; padding:9px 6px; border:1px solid #dce9e0;
  border-radius:14px; box-shadow:4px 4px 0 #e0efe5; background:#fff; object-fit:contain;}
#header.qbit-header .brand-title {color:#203c35; white-space:normal; overflow:visible; font-size:40px; line-height:1.1; letter-spacing:-.04em;}
#header.qbit-header .brand-title-line {display:block;}
#header.qbit-header .brand-title-line:first-child {margin:0 0 5px; font-size:13px; line-height:1.4; letter-spacing:.025em; color:#566d62; font-weight:600;}
#header.qbit-header .brand-title-line:last-child {color:#14796b;}
#header.qbit-header .brand-subtitle {margin-top:7px; max-width:none; font-size:13px; line-height:1.5; font-weight:500; color:#5b7166; white-space:normal; overflow:visible;}
#header.qbit-header .hdr-right {display:grid; grid-template-columns:auto auto; grid-template-rows:auto auto;
  justify-content:end; align-items:center; gap:14px 10px; margin:0; width:auto;}
#header.qbit-header .static-links {grid-column:1/-1; grid-row:2; justify-content:flex-end; gap:7px; margin:0;}
#header.qbit-header .auth-actions {grid-column:1/-1; grid-row:1; justify-self:end; gap:8px; border:0; padding:0;}
#header.qbit-header .header-message-link {grid-column:1; grid-row:1; justify-self:end; color:#14796b; border-color:#cddfd5;}
#header.qbit-header .dropdown {grid-column:2; grid-row:1; justify-self:end;}
#header.qbit-header .pill {padding:10px 16px; min-height:44px; border-radius:8px; border-color:transparent;
  color:#344e43 !important; background:transparent; font-size:1rem; font-weight:650; box-shadow:none;}
#header.qbit-header .pill:hover {background:#e5f2e9; border-color:#cbded1; color:#126658 !important;}
#header.qbit-header .static-links .pill.is-current {background:#fff; border-color:#b8d6c5;
  color:#126658 !important; box-shadow:0 3px 0 #cce3d5;}
#header.qbit-header .pill-primary {background:#14796b; color:#fff !important; border-color:#14796b;}
#header.qbit-header .pill-primary:hover {background:#106458; color:#fff !important; border-color:#106458; filter:none;}
#header.qbit-header .dropdown > .btn {background:#fff; border-color:#cddfd5; color:#294a3e; border-radius:8px; box-shadow:none;}
#header.qbit-header .avatar {background:#dcefe3; color:#126658;}
#header.qbit-header .badge,#header.qbit-header .header-message-count {background:#f4d69b; color:#503b20;}
#header.qbit-header a:focus-visible,#header.qbit-header button:focus-visible {outline:3px solid #14796b; outline-offset:3px;}
#header.qbit-header .menu {border-color:#cddfd5; border-radius:12px;}
#header.qbit-header .menu-item:hover {background:#eef7f1; color:#126658;}
#header.qbit-header .mobile-menu-toggle {background:#fff; color:#294a3e; border-color:#b8d6c5; border-radius:8px;}
#header.qbit-header .mobile-menu-toggle[aria-expanded="true"] {background:#e5f2e9; border-color:#14796b;}
#header.qbit-header .mobile-menu-toggle .avatar {color:#fff; background:#14796b;}
#header.qbit-header .mobile-menu-count {background:#f4d69b; color:#503b20;}
#header.qbit-header .mobile-menu {background:#fff; border-color:#cddfd5;}
#header.qbit-header .mobile-menu a.is-current {background:#e5f2e9; color:#126658 !important; border-color:#b8d6c5; box-shadow:none;}
#header.qbit-header .mobile-menu a:hover {background:#eef7f1; color:#126658;}

#content .qbit-announcement {max-width:var(--page-content-width); margin:17px auto 24px; color:#263e34;}
#content .qbit-announcement .qb-hero {position:relative; display:grid; grid-template-columns:220px minmax(0,1fr);
  align-items:center; gap:52px; min-height:520px; padding:32px 54px; border:1px solid #d6e5da; border-radius:20px;
  background:radial-gradient(ellipse at 100% 0%,#edf7eb,transparent 60%),#fff; box-shadow:0 12px 40px rgba(39,72,55,.045);}
#content .qbit-announcement .qb-hero::before {content:""; position:absolute; right:24px; top:24px;
  width:38px; height:38px; border:1px solid #d2e3d4; border-radius:9px; transform:rotate(12deg); pointer-events:none;}
#content .qbit-announcement .qb-date-column {align-self:center;}
#content .qbit-announcement .qb-date {position:relative; display:flex; flex-direction:column; align-items:flex-start;
  justify-content:center; width:220px; height:220px; padding:23px 27px; border:1px solid #e4c391; border-radius:16px;
  color:#774b20; background:linear-gradient(135deg,#fff7e6,#f6e2bd); box-shadow:7px 7px 0 #fcf4e6; overflow:hidden;}
#content .qbit-announcement .qb-date-label {font-size:10px; font-weight:750; letter-spacing:.07em; text-transform:uppercase;}
#content .qbit-announcement .qb-day {margin:9px 0 3px; font-size:88px; line-height:1; font-weight:800; letter-spacing:-.07em; color:#955b26;}
#content .qbit-announcement .qb-month {font-size:25px; line-height:1.2; font-weight:700;}
#content .qbit-announcement .qb-year {margin-top:6px; font-size:13px; color:#876a47;}
#content .qbit-announcement .qb-leaf {position:absolute; width:67px; height:67px; right:10px; bottom:13px; color:#c38741; opacity:.7;}
#content .qbit-announcement .qb-date-caption {display:block; padding:21px 4px 0; color:#8a7356; font-size:13px; line-height:1.6;}
#content .qbit-announcement .qb-copy {min-width:0;}
#content .qbit-announcement .qb-eyebrow {margin:0 0 12px; padding:0; color:#617765; font-size:11px; font-weight:700; letter-spacing:.09em; text-transform:uppercase;}
#content .qbit-announcement h1 {margin:0 0 16px; padding:0; font-size:clamp(30px,3.3vw,44px); line-height:1.15; font-weight:800; letter-spacing:-.04em; color:#253e33;}
#content .qbit-announcement h1 span {color:#14796b;}
#content .qbit-announcement .qb-lead {margin:0 0 12px; padding:0; max-width:43ch; font-size:19px; line-height:1.6; color:#374f42;}
#content .qbit-announcement .qb-text {margin:0 0 16px; padding:0; max-width:58ch; font-size:16px; line-height:1.7; color:#65736c;}
#content .qbit-announcement .qb-status {display:inline-flex; align-items:center; gap:9px; padding:9px 12px;
  margin:0 0 18px; border:1px solid #d5e7d9; border-radius:7px; background:#f0f8f0; color:#376348; font-size:12px; font-weight:650;}
#content .qbit-announcement .qb-status > span {width:7px; height:7px; flex:none; border-radius:50%; background:#42835a;}
#content .qbit-announcement .qb-actions {display:flex; align-items:center; flex-wrap:wrap; gap:10px;}
#content .qbit-announcement a.qb-button {display:inline-flex; align-items:center; justify-content:center; gap:16px;
  min-height:48px; padding:12px 18px; border:1px solid #cbded1; border-radius:8px; font-size:14px; font-weight:700; line-height:1.4; text-decoration:none;}
#content .qbit-announcement a.qb-button-primary {background:#14796b; border-color:#14796b; color:#fff !important;}
#content .qbit-announcement a.qb-button-primary:hover {background:#106458; border-color:#106458;}
#content .qbit-announcement a.qb-button-secondary {color:#45604f !important; background:#fff;}
#content .qbit-announcement a.qb-button-secondary:hover {background:#eef7f1; border-color:#9cbea9;}
#content .qbit-announcement a:focus-visible {outline:3px solid #14796b; outline-offset:3px;}
#content .qbit-announcement .qb-help {margin:14px 0 0; padding:0; color:#788078; font-size:12px; line-height:1.6;}
#content .qbit-announcement .qb-help a {color:#356b54 !important; text-decoration:underline !important; text-underline-offset:3px;}

#footer.qbit-footer {max-width:none; width:100%; margin:24px 0 0; padding:30px 32px 22px; border-top:1px solid #cfdfd1;
  background:linear-gradient(115deg,#eef5eb,#f4f8f2 60%,#e7f2e8); color:#42594b; line-height:1.4 !important;}
#footer.qbit-footer .site-footer-inner {max-width:1450px; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none;}
#footer.qbit-footer .site-footer-top {grid-template-columns:minmax(0,1.7fr) minmax(0,.8fr) minmax(0,1fr); gap:28px 48px;}
#footer.qbit-footer .site-footer-about {max-width:none;}
#footer.qbit-footer .site-footer-brand {align-items:center; gap:17px; color:#14796b; font-size:24px; font-weight:800; line-height:1.15;}
#footer.qbit-footer .site-footer-brand small {display:block; margin-top:5px; font-size:11px; color:#566e5b; font-weight:500; line-height:1.5;}
#footer.qbit-footer img.site-footer-mark {width:64px; height:52px; padding:4px; border-radius:8px; background:#fff; border:1px solid #dbe6d8;}
#footer.qbit-footer .site-footer-made {display:block; margin-top:13px; color:#6a7d6a; font-size:11px;}
#footer.qbit-footer .site-footer-section {gap:8px;}
#footer.qbit-footer .site-footer-section h2 {color:#61765e; margin:0 0 6px; font-size:10px; letter-spacing:.1em;}
#footer.qbit-footer .site-footer-section a {color:#3b5c46; font-size:13px; line-height:1.5;}
#footer.qbit-footer .site-footer-section a:hover {color:#14796b; text-decoration:underline; text-underline-offset:3px;}
#footer.qbit-footer a:focus-visible {outline:3px solid #14796b; outline-offset:3px;}
#footer.qbit-footer .site-footer-bottom {margin-top:24px; padding-top:16px; border-top-color:#d1dfcd; gap:10px 24px;}
#footer.qbit-footer .site-footer-bottom p {font-size:11px; color:#70806b;}
#footer.qbit-footer .site-footer-bottom p:first-child {color:#426044;}

@media (min-width:761px) and (max-width:1000px) {
  #header.qbit-header .hdr-wrap {gap:16px; width:calc(100% - 40px);}
  #header.qbit-header .brand {gap:14px;}
  #header.qbit-header .brand-logo {width:88px; height:76px;}
  #header.qbit-header .brand-title-line:first-child {max-width:21ch; font-size:11px;}
  #header.qbit-header .pill {padding:9px 12px; font-size:.92rem;}
  #header.qbit-header .brand-subtitle {max-width:25ch; font-size:12px;}
  #content .qbit-announcement .qb-hero {gap:30px; padding:38px 30px; grid-template-columns:190px minmax(0,1fr);}
  #content .qbit-announcement .qb-date {width:190px; height:210px; padding:23px;}
}
@media (max-width:760px) {
  #header.qbit-header {position:relative;}
  #header.qbit-header .hdr-wrap {grid-template-columns:minmax(0,1fr); width:auto; padding:18px 16px 14px; gap:14px;}
  #header.qbit-header .brand {gap:16px;}
  #header.qbit-header .brand-logo {width:80px; height:70px;}
  #header.qbit-header .brand-title {font-size:32px;}
  #header.qbit-header .brand-title-line:first-child {font-size:10px; margin-bottom:4px;}
  #header.qbit-header .brand-subtitle {display:block; margin-top:5px; font-size:10px; line-height:1.5; max-width:none; white-space:normal;}
  #header.qbit-header .hdr-right {display:flex; width:100%; gap:8px; justify-content:space-between;}
  #header.qbit-header .static-links,#header.qbit-header .dropdown {display:none;}
  #header.qbit-header .auth-actions {margin-right:auto; gap:7px;}
  #header.qbit-header .auth-actions .pill {padding:8px 12px; min-height:40px; font-size:.84rem;}
  #header.qbit-header .auth-actions .pill-primary {display:inline-flex;}
  #header.qbit-header .header-message-link {margin-right:auto; width:40px; height:40px;}
  #header.qbit-header .mobile-menu-toggle {display:inline-flex; min-height:40px; padding:8px 11px;}
  #header.qbit-header .mobile-menu {max-height:65vh;}
  #content .qbit-announcement {margin:6px auto 18px;}
  #content .qbit-announcement .qb-hero {grid-template-columns:minmax(0,1fr); min-height:0; gap:30px; padding:28px 24px; border-radius:16px;}
  #content .qbit-announcement .qb-date-column {display:flex; align-items:center; gap:24px;}
  #content .qbit-announcement .qb-date {flex:none; width:150px; height:150px; padding:16px 20px; border-radius:12px;}
  #content .qbit-announcement .qb-day {font-size:52px; margin:7px 0 2px;}
  #content .qbit-announcement .qb-month {font-size:20px;}
  #content .qbit-announcement .qb-year {font-size:11px; margin-top:4px;}
  #content .qbit-announcement .qb-date-label {font-size:7px; letter-spacing:.04em; white-space:nowrap;}
  #content .qbit-announcement .qb-leaf {width:32px; height:32px; right:7px; bottom:8px;}
  #content .qbit-announcement .qb-date-caption {padding:0; font-size:12px;}
  #content .qbit-announcement .qb-eyebrow {font-size:9px; letter-spacing:.05em;}
  #content .qbit-announcement h1 {font-size:34px;}
  #content .qbit-announcement .qb-lead {font-size:17px;}
  #content .qbit-announcement .qb-text {font-size:15px;}
  #footer.qbit-footer {padding:27px 22px 20px;}
  #footer.qbit-footer .site-footer-top {grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 24px;}
  #footer.qbit-footer .site-footer-about {grid-column:1/-1;}
  #footer.qbit-footer .site-footer-section:last-child {grid-column:auto;}
  #footer.qbit-footer .site-footer-bottom {flex-direction:column; gap:6px;}
}
@media (max-width:420px) {
  #header.qbit-header .brand-logo {width:68px; height:62px;}
  #header.qbit-header .brand {gap:12px;}
  #header.qbit-header .brand-title-line:first-child {max-width:22ch;}
  #content .qbit-announcement .qb-hero {padding:24px 19px;}
  #content .qbit-announcement .qb-date-column {gap:17px;}
  #content .qbit-announcement .qb-date {width:136px; height:146px;}
  #content .qbit-announcement .qb-date-caption {font-size:10px;}
  #content .qbit-announcement h1 {font-size:30px;}
  #content .qbit-announcement .qb-actions {align-items:stretch; flex-direction:column;}
  #content .qbit-announcement .qb-status {font-size:11px;}
  #footer.qbit-footer .site-footer-top {gap:25px 18px;}
}

#content .qbit-announcement a.qb-button:hover {text-decoration:none !important;}
