/* SHELROCK GLOBAL CSS
   Shared foundation + header/footer/mobile navigation + AI workspace.
   Extracted from the approved stylesheet without visual redesign.
*/

:root{
  --ink:#08111f;
  --muted:#667085;
  --line:#e5e8ee;
  --bg:#fbfbfd;
  --white:#fff;
  --orange:#ff7418;
  --red:#ff3a36;
  --violet:#7554ff;
  --blue:#2f67ff;
  --green:#11a66a;
  --max:1240px;
  --header:72px;
  --shadow:0 24px 70px rgba(17,24,39,.11);
  --soft:0 12px 34px rgba(17,24,39,.08);
  --ease:180ms cubic-bezier(.2,.8,.2,1)
}
*{
  box-sizing:border-box
}
html{
  scroll-behavior:smooth
}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  letter-spacing:-.015em;
  padding-bottom:110px
}
a{
  text-decoration:none;
  color:inherit
}
button,
input{
  font:inherit
}
.shell{
  width:min(calc(100% - 40px),var(--max));
  margin-inline:auto
}
.site-header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  height:var(--header);
  z-index:1000;
  background:rgba(255,255,255,.89);
  backdrop-filter:blur(22px) saturate(160%);
  border-bottom:1px solid rgba(15,23,42,.06);
  box-shadow:0 4px 22px rgba(15,23,42,.025)
}
.header-inner{
  height:100%;
  width:min(calc(100% - 40px),var(--max));
  margin:auto;
  display:flex;
  align-items:center;
  gap:26px
}
.brand{
  display:flex;
  align-items:center;
  gap:10px
}
.brand-copy{
  display:flex;
  flex-direction:column;
  line-height:1
}
.brand-copy b{
  font-size:20px;
  letter-spacing:.09em;
  font-weight: 900;
  line-height: .8;
}
.brand-copy small{
  font-size:11px;
  color:#98a2b3;
  margin-top:5px
}
.desktop-nav{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:20px;
  flex:1
}
.desktop-nav>a{
  font-size:13px;
  font-weight:670;
  color:#344054;
  border:0;
  background:none;
  cursor:pointer;
  white-space:nowrap
}
.header-actions{
  display:flex;
  align-items:center;
  gap:14px
}
.sign-in{
  font-size:13px;
  font-weight:760
}
.submit-top,
.mobile-submit{
  padding:11px 17px;
  border-radius:999px;
  color:#fff;
  font-size:12px;
  font-weight:860;
  background:linear-gradient(105deg,#ff7a18,#ff4a28 52%,#ff3153);
  box-shadow:0 10px 26px rgba(255,74,39,.25)
}
.mobile-menu-btn{
  display:none;
  margin-left:auto;
  width:42px;
  height:42px;
  border:0;
  background:transparent;
  padding:10px
}
.mobile-menu-btn span{
  display:block;
  width:21px;
  height:1.7px;
  background:#101828;
  margin:4.8px auto
}
.mobile-menu{
  display:none;
  position:absolute;
  top:var(--header);
  left:0;
  right:0;
  background:#fff;
  border-top:1px solid var(--line);
  padding:16px 20px 24px
}
.mobile-menu.open{
  display:flex;
  flex-direction:column
}
.mobile-menu>a{
  padding:13px 4px;
  border-bottom:1px solid var(--line);
  font-size:16px;
  font-weight:720
}
.mobile-menu .mobile-submit{
  margin-top:16px;
  text-align:center;
  border:0
}
.site-footer{
  background:#0d1320;
  color:#fff;
  padding:52px 0 28px;
  margin-top:50px
}
.footer-grid{
  display:grid;
  grid-template-columns:1.5fr repeat(3,.7fr);
  gap:30px
}
.footer-brand p{
  max-width:320px;
  color:#9fa8b8;
  font-size:20px;
  line-height:1.6
}
.footer-logo .brand-copy small{
  color:#8d98aa;
  font-size: 11px;

}
.footer-grid>div:not(:first-child){
  display:flex;
  flex-direction:column;
  gap:10px
}
.footer-grid>div>b{
  font-size:11px;
  margin-bottom:6px
}
.footer-grid>div>a{
  font-size:11px;
  color:#9fa8b8
}
.footer-bottom{
  display:flex;
  justify-content:space-between;
  border-top:1px solid #293244;
  margin-top:35px;
  padding-top:20px;
  color:#7f899a;
  font-size:9.5px
}
.search-dock{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:1200;
  padding:0 14px max(14px,env(safe-area-inset-bottom));
  pointer-events:none
}
.global-search{
  width:min(calc(100% - 20px),900px);
  min-height:66px;
  margin:0 auto;
  background:rgba(255,255,255,.95);
  backdrop-filter:blur(22px);
  border:1px solid rgba(15,23,42,.12);
  border-radius:24px;
  box-shadow:0 16px 55px rgba(15,23,42,.15);
  display:flex;
  align-items:center;
  padding:8px;
  pointer-events:auto
}
.search-icon{
  width:42px;
  text-align:center;
  color:#667085;
  font-size:21px
}
.global-search input{
  flex:1;
  min-width:0;
  border:0;
  background:transparent;
  outline:0;
  padding:11px 5px;
  font-size:15px;
  color:#101828
}
.global-search button{
  width:47px;
  height:47px;
  border:0;
  border-radius:16px;
  background:#101828;
  color:#fff;
  font-size:20px
}
@media (max-width:1100px){
.desktop-nav{
    gap:13px
  }
.desktop-nav>a{
    font-size:12px
  }
}
@media (max-width:900px){
:root{
    --header:62px
  }
.desktop-nav,
.header-actions{
    display:none
  }
.mobile-menu-btn{
    display:block
  }
.footer-grid{
    grid-template-columns:1fr 1fr
  }
}
@media (max-width:640px){
body{
    padding-bottom:92px
  }
.shell,
.header-inner{
    width:calc(100% - 28px)
  }
.brand-copy small{
    display:none
  }
.site-footer{
    margin-top:20px
  }
.footer-grid{
    grid-template-columns:1fr
  }
.footer-bottom{
    flex-direction:column;
    gap:5px
  }
.global-search{
    width:100%
  }
.search-dock{
    padding:0 8px max(8px,env(safe-area-inset-bottom))
  }
.global-search{
    min-height:60px;
    border-radius:20px;
    padding:6px
  }
.global-search input{
    font-size:14px
  }
.global-search button{
    width:43px;
    height:43px;
    border-radius:14px
  }
}
@media (max-width:1100px){
.desktop-nav{
    gap:13px
  }
.desktop-nav>a{
    font-size:12px
  }
}
@media (max-width:900px){
:root{
    --header:62px
  }
.desktop-nav,
.header-actions{
    display:none
  }
.mobile-menu-btn{
    display:block
  }
.footer-grid{
    grid-template-columns:1fr 1fr
  }
}
@media (max-width:640px){
body{
    padding-bottom:92px
  }
.shell,
.header-inner{
    width:calc(100% - 28px)
  }
.brand-copy small{
    display:none
  }
.footer-grid{
    grid-template-columns:1fr
  }
.footer-bottom{
    flex-direction:column;
    gap:5px
  }
.search-dock{
    padding:0 8px max(8px,env(safe-area-inset-bottom))
  }
.global-search{
    width:100%
  }
.global-search{
    min-height:60px;
    border-radius:20px;
    padding:6px
  }
.global-search input{
    font-size:14px
  }
.global-search button{
    width:43px;
    height:43px;
    border-radius:14px
  }
}
.desktop-nav>a,
.sign-in{
  font-size:13px;
}
.site-footer,
.site-footer a,
.site-footer p{
  font-size:12px;
}
.global-search input{
  font-size:16px;
}
.global-search input{
  font-size:16px;
}
.desktop-nav{
  gap:22px;
}
.desktop-nav>a,
.sign-in{
  font-size:14.5px !important;
  font-weight:740;
}
.submit-top{
  min-height:43px;
  padding:11px 16px;
  font-size:14px !important;
  font-weight:860;
}
html,
body{
  min-height:100%;
  margin:0;
  background:#0e1420;
}
main{
  background:#fbfbfd;
}
.site-footer{
  margin:0 !important;
  padding-bottom:max(34px,env(safe-area-inset-bottom));
  background:#0e1420 !important;
}
.site-footer a,
.site-footer p{
  font-size:14px !important;
}
.site-footer b{
  font-size:15px !important;
}
.footer-bottom{
  font-size:13px !important;
  margin-bottom:0 !important;
  padding-bottom:0 !important;
}
.site-footer:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:100%;
  height:110px;
  background:#0e1420;
  pointer-events:none;
}
.search-dock{
  z-index:220;
}
@media (max-width:1180px){
.desktop-nav{
    gap:16px;
  }
.desktop-nav>a,
.sign-in{
    font-size:13.5px !important;
  }
.submit-top{
    font-size:13.5px !important;
    padding-left:13px;
    padding-right:13px;
  }
}
@media (max-width:640px){
.site-footer a,
.site-footer p{
    font-size:14px !important;
  }
}
:root{
  --max:1200px;
}
html,
body{
  min-height:100%;
  margin:0;
  background:#fbfbfd !important;
}
body{
  padding-bottom:0 !important;
}
main{
  background:#fbfbfd !important;
}
.site-footer{
  position:relative;
  margin:0 !important;
  padding-bottom:calc(118px + env(safe-area-inset-bottom)) !important;
  background:#0e1420 !important;
}
.site-footer:after{
  display:none !important;
}
.site-footer a,
.site-footer p{
  font-size:14px !important;
}
.site-footer b{
  font-size:15px !important;
}
.footer-bottom{
  margin-bottom:0 !important;
  padding-bottom:0 !important;
  font-size:13px !important;
}
.desktop-nav{
  gap:21px;
}
.desktop-nav>a,
.sign-in{
  font-size:14.5px !important;
  font-weight:740;
}
.submit-top{
  min-height:43px;
  padding:11px 15px;
  font-size:14px !important;
  font-weight:860;
}
@media (max-width:1180px){
.desktop-nav{
    gap:15px;
  }
.desktop-nav>a,
.sign-in{
    font-size:13.5px !important;
  }
.submit-top{
    padding-left:12px;
    padding-right:12px;
    font-size:13px !important;
  }
}
html,
body{
  min-height:100%;
  margin:0;
  background:#fbfbfd !important;
}
body{padding-bottom:0 !important;}
main{background:#fbfbfd !important;}
.site-footer{
  position:relative;
  margin:0 !important;
  padding-bottom:calc(118px + env(safe-area-inset-bottom)) !important;
  background:#0e1420 !important;
}
.site-footer:after{display:none !important;}
.desktop-nav{gap:21px;}
.desktop-nav>a,
.sign-in{
  font-size:14.5px !important;
  font-weight:740;
}
.submit-top{
  min-height:43px;
  padding:11px 15px;
  font-size:14px !important;
  font-weight:860;
}
@media (max-width:1180px){
.desktop-nav{gap:15px;}
.desktop-nav>a,
.sign-in{font-size:13.5px !important;}
.submit-top{
    padding-left:12px;
    padding-right:12px;
    font-size:13px !important;
  }
}
.header-inner{
  display:flex;
  align-items:center;
}
.desktop-nav{
  margin-left:auto !important;
  gap:20px !important;
}
.desktop-nav>a,
.sign-in{
  font-size:13.5px !important;
  line-height:1.2;
  font-weight:550 !important;
  letter-spacing:-.005em;
}
.header-actions{
  margin-left:18px;
  gap:10px;
}
.submit-top{
  min-height:42px;
  padding:11px 15px;
  font-size:13.5px !important;
  font-weight:600 !important;
}
html,
body{
  margin:0;
  min-height:100%;
  background:#fbfbfd !important;
}
main{
  background:#fbfbfd !important;
}
.site-footer{
  margin:0 !important;
  background:#0e1420 !important;
  padding-bottom:calc(118px + env(safe-area-inset-bottom)) !important;
}
.site-footer:after{
  display:none !important;
}
@media (max-width:1180px){
.desktop-nav{
    gap:15px !important;
  }
.desktop-nav>a,
.sign-in{
    font-size:13px !important;
  }
.header-actions{
    margin-left:14px;
  }
.submit-top{
    font-size:13px !important;
    padding-left:13px;
    padding-right:13px;
  }
}
.header-inner{
  display:flex !important;
  align-items:center !important;
}
@media (min-width:901px){
.site-header{
    position:fixed;
    top:0;
    left:0;
    right:0;
  }
.header-inner{
    display:grid !important;
    grid-template-columns:minmax(190px,1fr) auto minmax(220px,1fr) !important;
    align-items:center !important;
    gap:20px !important;
  }
.header-inner>.brand{
    justify-self:start;
  }
.header-inner>.desktop-nav{
    justify-self:center;
    display:flex !important;
    align-items:center;
    justify-content:center;
    margin:0 !important;
    gap:9px !important;
  }
.header-inner>.desktop-nav>a{
    padding:8px 7px !important;
    color:#344054;
    font-size:13.5px !important;
    font-weight:550 !important;
    line-height:1.2;
    letter-spacing:-.005em;
    white-space:nowrap;
  }
.header-inner>.header-actions{
    justify-self:end;
    display:flex !important;
    align-items:center;
    gap:12px !important;
    margin:0 !important;
  }
.header-inner .sign-in{
    padding:8px 6px !important;
    font-size:13.5px !important;
    font-weight:550 !important;
    white-space:nowrap;
  }
.header-inner .submit-top{
    min-height:42px;
    padding:11px 23px !important;
    font-size:13.5px !important;
    font-weight:600 !important;
    white-space:nowrap;
  }
.mobile-menu-btn,
.mobile-menu,
.mobile-bottom-nav-v23{
    display:none !important;
  }
}
@media (min-width:901px) and (max-width:1120px){
.header-inner{
    grid-template-columns:minmax(170px,1fr) auto minmax(205px,1fr) !important;
    gap:12px !important;
  }
.header-inner>.desktop-nav{
    gap:3px !important;
  }
.header-inner>.desktop-nav>a{
    padding-left:5px !important;
    padding-right:5px !important;
    font-size:12.5px !important;
  }
.header-inner .sign-in{
    font-size:12.5px !important;
  }
.header-inner .submit-top{
    padding-left:18px !important;
    padding-right:18px !important;
    font-size:12.5px !important;
  }
}
.mobile-bottom-nav-v23{
  display:none;
}
@media (max-width:900px){
:root{
    --header:62px;
    --mobile-nav-h:72px;
  }
.site-header{
    position:relative !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    z-index:1500 !important;
    height:62px !important;
    background:rgba(255,255,255,.97) !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    box-shadow:0 1px 0 rgba(15,23,42,.07) !important;
  }
.header-inner{
    position:relative;
    display:flex !important;
    align-items:center !important;
    width:calc(100% - 28px) !important;
    height:62px !important;
    gap:12px !important;
  }
.header-inner>.brand{
    flex:0 1 auto;
  }
.header-inner>.desktop-nav,
.header-inner>.header-actions{
    display:none !important;
  }
.mobile-menu-btn{
    position:relative;
    z-index:1602;
    display:block !important;
    flex:0 0 42px;
    margin-left:auto !important;
    cursor:pointer;
  }
.mobile-menu-btn span{
    transition:transform .18s ease,opacity .18s ease;
  }
.mobile-menu-btn[aria-expanded="true"] span:nth-child(1){
    transform:translateY(6.5px) rotate(45deg);
  }
.mobile-menu-btn[aria-expanded="true"] span:nth-child(2){
    opacity:0;
  }
.mobile-menu-btn[aria-expanded="true"] span:nth-child(3){
    transform:translateY(-6.5px) rotate(-45deg);
  }
.site-header .mobile-menu{
    position:absolute !important;
    z-index:1600 !important;
    top:100% !important;
    left:10px !important;
    right:10px !important;
    display:flex !important;
    flex-direction:column !important;
    gap:0;
    max-height:0;
    overflow:hidden;
    padding:0 16px !important;
    border:1px solid rgba(15,23,42,.08) !important;
    border-radius:0 0 22px 22px;
    background:rgba(255,255,255,.985) !important;
    box-shadow:0 20px 40px rgba(15,23,42,.14);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-7px);
    transition:max-height .28s ease,opacity .18s ease,transform .18s ease,visibility .18s;
  }
.site-header .mobile-menu.open{
    max-height:min(590px,calc(100vh - 78px));
    overflow:auto;
    padding:10px 16px 18px !important;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
  }
.site-header .mobile-menu>a{
    display:flex;
    align-items:center;
    min-height:49px;
    padding:12px 3px !important;
    border-bottom:1px solid #edf0f4;
    color:#243247;
    font-size:15px !important;
    font-weight:550 !important;
  }
.site-header .mobile-menu>a:last-child{
    border-bottom:0;
  }
.site-header .mobile-menu .mobile-submit{
    justify-content:center;
    min-height:46px;
    margin-top:10px;
    padding:11px 16px !important;
    border-radius:999px;
    color:#fff;
    font-size:14px !important;
    font-weight:650 !important;
  }
.mobile-bottom-nav-v23{
    position:fixed;
    z-index:1450;
    left:0;
    right:0;
    bottom:0;
    display:grid !important;
    grid-template-columns:repeat(5,1fr);
    align-items:end;
    min-height:var(--mobile-nav-h);
    padding:7px 7px max(7px,env(safe-area-inset-bottom));
    border-top:1px solid rgba(15,23,42,.09);
    background:rgba(255,255,255,.96);
    backdrop-filter:blur(20px) saturate(150%);
    -webkit-backdrop-filter:blur(20px) saturate(150%);
    box-shadow:0 -8px 30px rgba(15,23,42,.08);
  }
.mbn-item-v23{
    display:flex;
    min-width:0;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:4px;
    min-height:54px;
    color:#697588;
  }
.mbn-item-v23 svg{
    width:20px;
    height:20px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
.mbn-item-v23 span{
    font-size:9.5px;
    line-height:1;
    font-weight:600;
  }
.mbn-home-v23{
    color:#26354a;
  }
.mbn-source-v23{
    position:relative;
    top:-13px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    gap:4px;
    color:#e84b35;
  }
.mbn-source-icon-v23{
    display:grid;
    place-items:center;
    width:51px;
    height:51px;
    border:5px solid rgba(255,255,255,.98);
    border-radius:18px;
    background:linear-gradient(145deg,#ff7a1b,#ff4c31 55%,#ee3655);
    color:#fff;
    box-shadow:0 10px 24px rgba(239,72,58,.28);
    font-size:27px;
    font-weight:350;
    line-height:1;
  }
.mbn-source-v23>b{
    font-size:9.5px;
    line-height:1;
    font-weight:700;
  }
.search-dock{
    position:fixed !important;
    z-index:1440 !important;
    left:0 !important;
    right:0 !important;
    bottom:calc(var(--mobile-nav-h) + max(7px,env(safe-area-inset-bottom))) !important;
    padding:0 9px 8px !important;
    pointer-events:none;
  }
.global-search{
    width:100% !important;
    max-width:720px;
  }
.global-search{
    min-height:57px !important;
    padding:6px !important;
    border:1px solid rgba(15,23,42,.11) !important;
    border-radius:20px !important;
    background:rgba(255,255,255,.965) !important;
    box-shadow:0 12px 36px rgba(15,23,42,.13) !important;
    pointer-events:auto;
  }
.global-search input{
    font-size:16px !important;
  }
.global-search button{
    width:43px !important;
    height:43px !important;
    border-radius:14px !important;
  }
body{
    padding-bottom:0 !important;
  }
.site-footer{
    padding-bottom:calc(190px + env(safe-area-inset-bottom)) !important;
  }
.footer-grid{
    grid-template-columns:1fr 1fr !important;
    gap:28px 18px !important;
  }
.footer-brand{
    grid-column:1 / -1;
  }
.footer-bottom{
    flex-direction:column !important;
    align-items:flex-start;
    gap:6px !important;
  }
}
@media (max-width:640px){
.brand-copy b{
    font-size:13px;
  }
.site-header .mobile-menu{
    left:6px !important;
    right:6px !important;
  }
.mobile-bottom-nav-v23{
    padding-left:3px;
    padding-right:3px;
  }
.mbn-item-v23 span,
.mbn-source-v23>b{
    font-size:9px;
  }
.search-dock{
    padding-left:7px !important;
    padding-right:7px !important;
  }
.footer-grid{
    grid-template-columns:1fr !important;
  }
.footer-brand{
    grid-column:auto;
  }
}
@media (max-width:900px){
.site-header{
    position:sticky !important;
    top:0 !important;
    left:auto !important;
    right:auto !important;
    transform:translateY(0);
    transition:transform .22s cubic-bezier(.2,.72,.25,1),
               box-shadow .18s ease !important;
    will-change:transform;
  }
.site-header.mobile-header-hidden{
    transform:translateY(calc(-100% - 2px));
  }
.site-header:has(.mobile-menu.open){
    transform:translateY(0) !important;
  }
.site-footer{
    padding-top:48px !important;
    padding-bottom:calc(184px + env(safe-area-inset-bottom)) !important;
  }
.footer-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:26px 30px !important;
    align-items:start;
  }
.footer-brand{
    grid-column:1 / -1 !important;
    max-width:560px;
    padding-bottom:4px;
  }
.footer-brand p{
    max-width:520px;
    margin-top:12px !important;
  }
.footer-grid > div:not(.footer-brand){
    min-width:0;
  }
.footer-grid > div:not(.footer-brand) > b{
    display:block;
    margin-bottom:10px;
  }
.footer-grid > div:not(.footer-brand) > a{
    margin-top:7px !important;
    font-size:13px !important;
    line-height:1.4 !important;
  }
.footer-grid > div:nth-child(4){
    grid-column:1 / -1 !important;
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    column-gap:30px;
    row-gap:7px;
  }
.footer-grid > div:nth-child(4) > b{
    grid-column:1 / -1;
    margin-bottom:3px;
  }
.footer-grid > div:nth-child(4) > a{
    margin-top:0 !important;
  }
.footer-bottom{
    margin-top:28px !important;
    padding-top:18px !important;
    gap:5px !important;
  }
}
@media (max-width:640px){
.site-footer{
    padding-top:40px !important;
    padding-bottom:calc(180px + env(safe-area-inset-bottom)) !important;
  }
.footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:24px 18px !important;
  }
.footer-brand{
    grid-column:1 / -1 !important;
  }
.footer-grid > div:nth-child(4){
    grid-column:1 / -1 !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    column-gap:18px;
    row-gap:7px;
  }
.footer-grid > div:not(.footer-brand) > b{
    font-size:13px !important;
    margin-bottom:8px;
  }
.footer-grid > div:not(.footer-brand) > a{
    font-size:12.5px !important;
    margin-top:6px !important;
  }
.footer-bottom{
    margin-top:24px !important;
    padding-top:16px !important;
  }
}
@media (max-width:380px){
.footer-grid{
    gap:22px 14px !important;
  }
.footer-grid > div:not(.footer-brand) > a{
    font-size:12px !important;
  }
.footer-grid > div:nth-child(4){
    column-gap:14px;
  }
}
@media (min-width:901px){
.desktop-nav > a{
    position:relative;
  }
}
.desktop-nav a.active,
.sign-in.active{
  color:#111827 !important;
}
.desktop-nav a.active:after{
  content:"";
  position:absolute;
  left:7px; right:7px; bottom:1px;
  height:2px; border-radius:999px;
  background:#4169E1;
}
.desktop-nav a{position:relative}
.brand-logo-img{
  display:block;
  width:40px;
  height:40px;
  flex:0 0 40px;
  object-fit:cover;
  object-position:center;
  border-radius:11px;
  background:#050505;
  box-shadow:0 8px 18px rgba(15,23,42,.14);
}
.site-header .brand-logo-img{
  width:38px;
  height:38px;
  flex-basis:38px;
  border-radius:10px;
}
.site-footer .brand-logo-img{
  width:46px;
  height:46px;
  flex-basis:46px;
  border-radius:12px;
  box-shadow:0 10px 24px rgba(0,0,0,.20);
}
.site-footer .footer-logo .brand-copy small{
  max-width:230px;
  color:#8d98aa;
  font-size:9px;
  line-height:1.3;
  letter-spacing:.01em;
}
@media (max-width:900px){
.site-header .brand-logo-img{
    width:36px;
    height:36px;
    flex-basis:36px;
    border-radius:9px;
  }
.site-footer .brand-logo-img{
    width:43px;
    height:43px;
    flex-basis:43px;
  }
}
@media (max-width:640px){
.site-header .brand-logo-img{
    width:34px;
    height:34px;
    flex-basis:34px;
  }
.site-header .brand{
    gap:8px;
  }
.site-footer .footer-logo{
    align-items:center;
  }
.site-footer .footer-logo .brand-copy small{
    font-size:8.5px;
  }
}
.brand-logo-img{
  object-fit:contain !important;
  object-position:center !important;
  background:#fff !important;
  box-shadow:none !important;
}
.shelrock-ai-dock{
  --ai-width:min(calc(100% - 28px),900px);
}
.shelrock-ai-backdrop{
  position:fixed;
  inset:0;
  z-index:-1;
  opacity:0;
  pointer-events:none;
  background:rgba(10,17,30,.16);
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
  transition:opacity .24s ease;
}
.shelrock-ai-dock.ai-open .shelrock-ai-backdrop{
  opacity:1;
  pointer-events:auto;
}
.shelrock-ai-panel{
  width:var(--ai-width);
  height:min(720px,calc(100vh - 112px));
  min-height:480px;
  margin:0 auto 8px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  border:1px solid rgba(15,23,42,.11);
  border-radius:28px 28px 18px 18px;
  background:rgba(255,255,255,.985);
  box-shadow:0 28px 90px rgba(15,23,42,.22);
  pointer-events:none;
  opacity:0;
  visibility:hidden;
  transform:translateY(22px) scale(.985);
  transform-origin:bottom center;
  transition:opacity .22s ease,transform .28s cubic-bezier(.2,.75,.2,1),visibility .22s;
}
.shelrock-ai-dock.ai-open .shelrock-ai-panel{
  pointer-events:auto;
  opacity:1;
  visibility:visible;
  transform:translateY(0) scale(1);
}
.shelrock-ai-dock.ai-open .global-search{
  border-color:rgba(65,105,225,.26);
  box-shadow:0 12px 40px rgba(15,23,42,.16),0 0 0 3px rgba(65,105,225,.055);
}
.shelrock-ai-head{
  flex:0 0 auto;
  min-height:72px;
  padding:14px 16px 14px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  border-bottom:1px solid rgba(15,23,42,.065);
  background:rgba(255,255,255,.94);
}
.shelrock-ai-brandline{
  display:flex;
  align-items:center;
  gap:11px;
  min-width:0;
}
.shelrock-ai-mark{
  width:38px;
  height:38px;
  flex:0 0 38px;
  border-radius:13px;
  display:grid;
  place-items:center;
  background:#101828;
  color:#fff;
  font-size:17px;
  box-shadow:0 8px 22px rgba(16,24,40,.15);
}
.shelrock-ai-brandline strong{
  display:block;
  font-size:12px;
  line-height:1;
  letter-spacing:.09em;
  font-weight:900;
  color:#101828;
}
.shelrock-ai-brandline small{
  margin-top:6px;
  display:flex;
  align-items:center;
  gap:6px;
  color:#667085;
  font-size:10.5px;
  font-weight:650;
}
.shelrock-ai-brandline small i{
  width:6px;
  height:6px;
  border-radius:50%;
  background:#12b76a;
  box-shadow:0 0 0 4px rgba(18,183,106,.11);
}
.shelrock-ai-head-actions{
  display:flex;
  align-items:center;
  gap:9px;
}
.shelrock-ai-progress{
  display:flex;
  align-items:center;
  gap:7px;
  padding:8px 10px;
  border:1px solid rgba(65,105,225,.12);
  border-radius:999px;
  background:#f5f7ff;
  color:#475467;
  font-size:9.5px;
  white-space:nowrap;
}
.shelrock-ai-progress b{
  color:#4169e1;
  font-size:10.5px;
}
.shelrock-ai-close{
  width:36px;
  height:36px;
  border:0;
  border-radius:12px;
  background:#f2f4f7;
  color:#475467;
  font-size:22px;
  line-height:1;
  cursor:pointer;
  transition:.18s ease;
}
.shelrock-ai-close:hover{
  background:#e9edf3;
  color:#101828;
}
.shelrock-ai-body{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  padding:26px 28px 32px;
  scroll-behavior:smooth;
  background:
    radial-gradient(circle at 50% -20%,rgba(65,105,225,.055),transparent 35%),
    #fff;
}
.shelrock-ai-body::-webkit-scrollbar{
  width:7px;
}
.shelrock-ai-body::-webkit-scrollbar-thumb{
  background:#d7dce5;
  border-radius:999px;
}
.shelrock-ai-welcome{
  min-height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:10px 0 6px;
}
.shelrock-ai-welcome h2{
  margin:0;
  max-width:620px;
  color:#101828;
  font-size:clamp(30px,4vw,46px);
  line-height:.98;
  letter-spacing:-.052em;
  font-weight:820;
}
.shelrock-ai-welcome h2 span{
  color:#7b8492;
}
.shelrock-ai-intro{
  max-width:580px;
  margin:16px auto 21px;
  color:#667085;
  font-size:13px;
  line-height:1.6;
}
.shelrock-ai-message{
  width:100%;
  display:flex;
  margin:0 0 18px;
}
.shelrock-ai-message.user{
  justify-content:flex-end;
}
.shelrock-ai-message.assistant{
  justify-content:flex-start;
}
.shelrock-ai-bubble{
  max-width:min(78%,650px);
  padding:13px 15px;
  border-radius:18px;
  font-size:13px;
  line-height:1.58;
  white-space:pre-wrap;
  word-break:break-word;
}
.shelrock-ai-message.user .shelrock-ai-bubble{
  border-radius:18px 18px 5px 18px;
  background:#101828;
  color:#fff;
}
.shelrock-ai-message.assistant .shelrock-ai-bubble{
  border:1px solid rgba(15,23,42,.075);
  border-radius:18px 18px 18px 5px;
  background:#f8fafc;
  color:#273142;
}
.shelrock-ai-assistant-wrap{
  max-width:min(82%,680px);
}
.shelrock-ai-assistant-label{
  margin:0 0 7px 4px;
  display:flex;
  align-items:center;
  gap:7px;
  color:#697386;
  font-size:8.5px;
  letter-spacing:.08em;
  font-weight:850;
}
.shelrock-ai-assistant-label i{
  width:18px;
  height:18px;
  display:grid;
  place-items:center;
  border-radius:6px;
  background:#101828;
  color:#fff;
  font-style:normal;
  font-size:8px;
}
.shelrock-ai-typing{
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-width:56px;
}
.shelrock-ai-typing i{
  width:6px;
  height:6px;
  border-radius:50%;
  background:#98a2b3;
  animation:shelrockAiTyping 1.1s infinite ease-in-out;
}
.shelrock-ai-typing i:nth-child(2){animation-delay:.12s}
.shelrock-ai-typing i:nth-child(3){animation-delay:.24s}
.shelrock-ai-status{
  flex:0 0 auto;
  margin:0 18px 9px;
  padding:10px 12px;
  border-radius:12px;
  background:#fff7ed;
  border:1px solid #fed7aa;
  color:#9a3412;
  font-size:10px;
  line-height:1.45;
}
.shelrock-ai-inputbar{
  position:relative;
  z-index:4;
}
.shelrock-ai-dock.ai-open .shelrock-ai-inputbar{
  border-radius:18px 18px 24px 24px;
}
.shelrock-ai-input-icon{
  color:#4169e1;
  font-size:16px;
}
.shelrock-ai-inputbar button{
  cursor:pointer;
  transition:transform .16s ease,background .16s ease;
}
.shelrock-ai-inputbar button:hover{
  transform:translateY(-1px);
  background:#4169e1;
}
.shelrock-ai-inputbar.is-thinking button{
  opacity:.55;
  pointer-events:none;
}
body.shelrock-ai-open{
  overflow:hidden;
}
@media (min-width:901px){
.shelrock-ai-dock.ai-open .shelrock-ai-panel{
    height:calc(100vh - 108px);
    max-height:760px;
  }
}
@media (max-width:900px){
.shelrock-ai-backdrop{
    background:rgba(10,17,30,.08);
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }
.shelrock-ai-panel{
    position:fixed;
    z-index:1445;
    left:8px;
    right:8px;
    top:8px;
    bottom:calc(var(--mobile-nav-h) + 73px + max(7px,env(safe-area-inset-bottom)));
    width:auto !important;
    height:auto;
    min-height:0;
    margin:0;
    border-radius:22px;
    transform:translateY(18px);
  }
.shelrock-ai-dock.ai-open .shelrock-ai-panel{
    transform:translateY(0);
  }
.shelrock-ai-head{
    min-height:62px;
    padding:11px 12px 11px 14px;
  }
.shelrock-ai-progress span{
    display:none;
  }
.shelrock-ai-body{
    padding:20px 16px 25px;
  }
.shelrock-ai-welcome{
    justify-content:flex-start;
    padding-top:18px;
  }
.shelrock-ai-welcome h2{
    font-size:35px;
  }
.shelrock-ai-intro{
    font-size:12px;
  }
.shelrock-ai-bubble{
    max-width:88%;
    font-size:12.5px;
  }
.shelrock-ai-assistant-wrap{
    max-width:92%;
  }
body.shelrock-ai-open .mobile-bottom-nav-v23{
    opacity:.96;
  }
}
@media (max-width:520px){
.shelrock-ai-head-actions{
    gap:5px;
  }
.shelrock-ai-progress{
    padding:7px 8px;
  }
.shelrock-ai-brandline small{
    font-size:9px;
  }
.shelrock-ai-welcome h2{
    font-size:32px;
  }
}
@media (prefers-reduced-motion:reduce){
.shelrock-ai-panel,
.shelrock-ai-backdrop,
.shelrock-ai-inputbar button{
    transition:none !important;
  }
.shelrock-ai-typing i{
    animation:none !important;
  }
}
.shelrock-ai-bubble strong{
  font-weight:760;
  color:inherit;
}
.shelrock-ai-inline-list{
  margin:8px 0 2px 18px;
  padding:0;
}
.shelrock-ai-inline-list li{
  margin:5px 0;
  padding-left:2px;
}
.shelrock-ai-gap{
  height:7px;
}
:root{
  --shelrock-app-header:72px;
  --shelrock-ai-bg:#ffffff;
  --shelrock-ai-line:rgba(15,23,42,.105);
}
@media (min-width:901px){
.header-inner{
    width:min(calc(100% - 48px),1200px) !important;
    max-width:none !important;
    grid-template-columns:minmax(220px,1fr) auto minmax(260px,1fr) !important;
  }
.header-inner>.desktop-nav{
    justify-self:center !important;
  }
.header-inner>.header-actions{
    justify-self:end !important;
  }
}
.shelrock-ai-dock{
  --ai-width:min(calc(100% - 32px),980px) !important;
}
.shelrock-ai-panel{
  background:var(--shelrock-ai-bg) !important;
}
@media (min-width:901px){
.shelrock-ai-dock.ai-open .shelrock-ai-panel{
    width:var(--ai-width) !important;
    height:calc(100dvh - var(--shelrock-app-header) - 104px) !important;
    max-height:none !important;
    min-height:360px !important;
    margin:0 auto !important;
    border:1px solid var(--shelrock-ai-line) !important;
    border-bottom:0 !important;
    border-radius:26px 26px 0 0 !important;
    background:var(--shelrock-ai-bg) !important;
    box-shadow:0 -16px 64px rgba(15,23,42,.12) !important;
    transform:translateY(0) scale(1) !important;
  }
.shelrock-ai-dock.ai-open .shelrock-ai-inputbar{
    width:var(--ai-width) !important;
    min-height:70px !important;
    margin:0 auto !important;
    padding:8px 9px !important;
    border:1px solid var(--shelrock-ai-line) !important;
    border-top:1px solid rgba(15,23,42,.085) !important;
    border-radius:0 0 26px 26px !important;
    background:var(--shelrock-ai-bg) !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    box-shadow:0 22px 64px rgba(15,23,42,.15) !important;
  }
}
.shelrock-ai-head{
  min-height:62px !important;
  padding:12px 17px !important;
  background:var(--shelrock-ai-bg) !important;
  border-bottom:1px solid rgba(15,23,42,.055) !important;
}
.shelrock-ai-body{
  background:var(--shelrock-ai-bg) !important;
  padding:26px clamp(18px,4vw,42px) 30px !important;
}
.shelrock-ai-welcome{
  min-height:100% !important;
  max-width:720px;
  margin:0 auto;
  padding:42px 18px !important;
  justify-content:center !important;
}
.shelrock-ai-welcome h2{
  max-width:680px !important;
  margin:0 auto !important;
  color:#101828 !important;
  font-size:clamp(31px,4vw,48px) !important;
  line-height:1.02 !important;
  letter-spacing:-.05em !important;
  font-weight:850 !important;
}
.shelrock-ai-intro{
  max-width:560px !important;
  margin:15px auto 0 !important;
  color:#667085 !important;
  font-size:13.5px !important;
  line-height:1.62 !important;
}
.shelrock-ai-message{
  margin-bottom:20px !important;
}
.shelrock-ai-message.assistant .shelrock-ai-bubble{
  border:0 !important;
  background:transparent !important;
  padding:4px 4px 4px 0 !important;
  border-radius:0 !important;
  color:#253044 !important;
}
.shelrock-ai-message.user .shelrock-ai-bubble{
  background:#f2f4f7 !important;
  color:#182230 !important;
  border-radius:18px 18px 5px 18px !important;
  box-shadow:none !important;
}
.shelrock-ai-assistant-label{
  margin-left:0 !important;
}
.shelrock-ai-inputbar{
  background:var(--shelrock-ai-bg) !important;
}
.shelrock-ai-inputbar input{
  font-size:15px !important;
}
.shelrock-ai-dock.ai-open .global-search{
  border-color:var(--shelrock-ai-line) !important;
}
.site-footer{
  position:relative;
  z-index:1;
}
@media (max-width:900px){
.shelrock-ai-panel{
    top:8px !important;
    left:8px !important;
    right:8px !important;
    bottom:calc(var(--mobile-nav-h) + 64px + max(7px,env(safe-area-inset-bottom))) !important;
    border:1px solid var(--shelrock-ai-line) !important;
    border-bottom:0 !important;
    border-radius:20px 20px 0 0 !important;
    background:var(--shelrock-ai-bg) !important;
    box-shadow:0 -10px 44px rgba(15,23,42,.11) !important;
  }
.shelrock-ai-dock.ai-open .shelrock-ai-inputbar{
    border-radius:0 0 20px 20px !important;
    border-color:var(--shelrock-ai-line) !important;
    background:var(--shelrock-ai-bg) !important;
    box-shadow:0 18px 44px rgba(15,23,42,.13) !important;
  }
.shelrock-ai-head{
    min-height:58px !important;
  }
.shelrock-ai-body{
    padding:20px 17px 24px !important;
  }
.shelrock-ai-welcome{
    padding:34px 12px !important;
    justify-content:center !important;
  }
.shelrock-ai-welcome h2{
    font-size:clamp(30px,9vw,39px) !important;
  }
.shelrock-ai-intro{
    font-size:12.5px !important;
  }
}
@media (max-width:900px){
.site-header,
.site-header.mobile-header-hidden,
.site-header:has(.mobile-menu.open){
    position:relative !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
    will-change:auto !important;
    transition:box-shadow .18s ease !important;
  }
.shelrock-ai-dock.ai-open{
    z-index:2100 !important;
  }
.shelrock-ai-dock.ai-open .shelrock-ai-backdrop{
    z-index:0 !important;
  }
.shelrock-ai-dock.ai-open .shelrock-ai-panel{
    z-index:2 !important;
    top:max(8px,env(safe-area-inset-top)) !important;
  }
.shelrock-ai-dock.ai-open .shelrock-ai-inputbar{
    position:relative !important;
    z-index:3 !important;
  }
.shelrock-ai-close{
    position:relative !important;
    z-index:5 !important;
    flex:0 0 auto !important;
  }
body.shelrock-ai-open .site-header{
    z-index:100 !important;
  }
}
@media (max-width:900px){
:root{
    --header:50px !important;
    --mobile-nav-h:52px !important;
    --mobile-search-h:48px !important;
  }
.site-header,
.site-header.mobile-header-hidden,
.site-header:has(.mobile-menu.open){
    position:sticky !important;
    top:0 !important;
    left:auto !important;
    right:auto !important;
    height:var(--header) !important;
    z-index:1500 !important;
    transform:translateY(0) !important;
    transition:transform .20s cubic-bezier(.2,.72,.25,1), box-shadow .16s ease !important;
    will-change:transform !important;
    background:rgba(255,255,255,.97) !important;
    box-shadow:0 1px 0 rgba(15,23,42,.065) !important;
  }
.site-header.mobile-header-hidden{
    transform:translateY(calc(-100% - 2px)) !important;
  }
.site-header:has(.mobile-menu.open),
body.shelrock-ai-open .site-header{
    transform:translateY(0) !important;
  }
.header-inner{
    width:calc(100% - 20px) !important;
    height:var(--header) !important;
    gap:8px !important;
  }
.site-header .brand{
    gap:7px !important;
  }
.site-header .brand-logo-img{
    width:30px !important;
    height:30px !important;
    flex-basis:30px !important;
    border-radius:8px !important;
  }
.site-header .brand-copy b{
    font-size:16px !important;
    line-height:.9 !important;
    letter-spacing:.075em !important;
  }
.site-header .brand-copy small{
    margin-top:3px !important;
    font-size:8px !important;
    line-height:1 !important;
  }
.mobile-menu-btn{
    width:36px !important;
    height:36px !important;
    flex:0 0 36px !important;
    padding:8px !important;
  }
.mobile-menu-btn span{
    width:19px !important;
    margin:4.2px auto !important;
  }
.site-header .mobile-menu.open{
    max-height:min(560px,calc(100dvh - 58px)) !important;
  }
.mobile-bottom-nav-v23{
    position:fixed !important;
    z-index:1450 !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    display:grid !important;
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    align-items:center !important;
    height:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom)) !important;
    min-height:0 !important;
    padding:2px 4px env(safe-area-inset-bottom) !important;
    border-top:1px solid rgba(15,23,42,.08) !important;
    background:rgba(255,255,255,.975) !important;
    box-shadow:0 -5px 18px rgba(15,23,42,.055) !important;
    backdrop-filter:blur(16px) saturate(145%) !important;
    -webkit-backdrop-filter:blur(16px) saturate(145%) !important;
  }
.mbn-item-v23{
    gap:2px !important;
    min-height:46px !important;
    height:46px !important;
    padding:2px 0 !important;
    justify-content:center !important;
  }
.mbn-item-v23 svg{
    width:18px !important;
    height:18px !important;
    stroke-width:1.75 !important;
  }
.mbn-item-v23 span,
.mbn-source-v23>b{
    max-width:100% !important;
    font-size:8.5px !important;
    line-height:1 !important;
    font-weight:650 !important;
    white-space:nowrap !important;
    letter-spacing:-.01em !important;
  }
.mbn-source-v23{
    top:0 !important;
    height:46px !important;
    min-height:46px !important;
    gap:2px !important;
    justify-content:center !important;
    color:#e84b35 !important;
  }
.mbn-source-icon-v23{
    width:34px !important;
    height:34px !important;
    border:0 !important;
    border-radius:12px !important;
    font-size:22px !important;
    line-height:1 !important;
    box-shadow:0 5px 13px rgba(239,72,58,.22) !important;
  }
.search-dock{
    left:0 !important;
    right:0 !important;
    bottom:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom)) !important;
    padding:0 6px 0 !important;
  }
.global-search{
    min-height:var(--mobile-search-h) !important;
    height:var(--mobile-search-h) !important;
    padding:4px 5px !important;
    border-radius:15px 15px 0 0 !important;
    box-shadow:0 -4px 18px rgba(15,23,42,.075) !important;
  }
.global-search .search-icon,
.shelrock-ai-input-icon{
    margin-left:5px !important;
    font-size:14px !important;
  }
.global-search input,
.shelrock-ai-inputbar input{
    min-width:0 !important;
    font-size:15px !important;
  }
.global-search button,
.shelrock-ai-inputbar button{
    width:38px !important;
    height:38px !important;
    flex:0 0 38px !important;
    border-radius:11px !important;
  }
.shelrock-ai-panel,
.shelrock-ai-dock.ai-open .shelrock-ai-panel{
    top:max(6px,env(safe-area-inset-top)) !important;
    bottom:calc(var(--mobile-nav-h) + var(--mobile-search-h) + env(safe-area-inset-bottom)) !important;
  }
.shelrock-ai-dock.ai-open .shelrock-ai-inputbar{
    min-height:var(--mobile-search-h) !important;
    height:var(--mobile-search-h) !important;
    border-radius:0 !important;
  }
.site-footer{
    padding-bottom:calc(var(--mobile-nav-h) + var(--mobile-search-h) + 24px + env(safe-area-inset-bottom)) !important;
  }
}
@media (max-width:360px){
.mbn-item-v23 span,
.mbn-source-v23>b{
    font-size:7.8px !important;
  }
.site-header .brand-copy small{
    display:none !important;
  }
}
@keyframes shelrockAiTyping{
  0%,70%,100%{transform:translateY(0);opacity:.45}
  35%{transform:translateY(-4px);opacity:1}
}
