:root{
  --sb-navy:#002033;
  --sb-gold:#B08030;
  --sb-light:#F5F5F5;
  --sb-text:#0B1A22;
  --sb-border:#E6E6E6;
  --sb-radius:18px;
  --sb-shadow:0 12px 30px rgba(0,0,0,.08);
}

*{box-sizing:border-box}
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--sb-text);
  background:#fff;
}
img{max-width:100%; height:auto; display:block}
a{color:var(--sb-navy); text-decoration:none}
a:hover{text-decoration:underline}

.sb-sr-only{
  position:absolute!important;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);
  white-space:nowrap;border:0;
}

.sb-container{max-width:1100px; margin:0 auto; padding:0 20px}
.sb-main{min-height:60vh}

.sb-header{
  position:sticky; top:0; z-index:50;
  background:rgba(255,255,255,.92);
  backdrop-filter:saturate(180%) blur(10px);
  border-bottom:1px solid var(--sb-border);
}
.sb-header__inner{
  display:flex; align-items:center; justify-content:space-between;
  gap:18px; padding:14px 0;
}
.sb-logo{max-height:56px; width:auto}
.custom-logo{max-height:56px; width:auto}

.sb-nav{display:flex; align-items:center; gap:12px}
.sb-menu{
  display:flex; align-items:center; gap:16px;
  list-style:none; margin:0; padding:0;
}
.sb-menu a{font-weight:600}
.sb-nav__toggle{
  display:none;
  border:1px solid var(--sb-border);
  background:#fff;
  border-radius:12px;
  padding:10px 12px;
  cursor:pointer;
}
.sb-burger{
  width:22px; height:2px; background:var(--sb-navy);
  display:block; position:relative;
}
.sb-burger:before,.sb-burger:after{
  content:""; position:absolute; left:0; width:22px; height:2px; background:var(--sb-navy);
}
.sb-burger:before{top:-7px}
.sb-burger:after{top:7px}

.sb-mobile{border-top:1px solid var(--sb-border); background:#fff; padding:12px 0}
.sb-menu--mobile{flex-direction:column; align-items:flex-start}

@media (max-width: 860px){
  .sb-menu{display:none}
  .sb-nav__toggle{display:inline-flex}
}

.sb-section{padding:48px 0}
.sb-section__header{margin-bottom:18px}
.sb-h1{font-size:40px; line-height:1.1; margin:0 0 10px}
.sb-h2{font-size:28px; margin:0 0 8px}
.sb-h3{font-size:18px; margin:0 0 8px}
.sb-muted{color:rgba(11,26,34,.72); margin:0 0 10px}

.sb-btn{
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:999px;
  padding:12px 16px;
  font-weight:700;
  border:1px solid transparent;
  text-decoration:none;
  white-space:nowrap;
}
.sb-btn--primary{background:var(--sb-navy); color:#fff}
.sb-btn--primary:hover{opacity:.92; text-decoration:none}
.sb-btn--outline{background:transparent; border-color:var(--sb-navy); color:var(--sb-navy)}
.sb-btn--outline:hover{background:rgba(0,32,51,.06); text-decoration:none}

.sb-hero{
  background:linear-gradient(180deg, rgba(0,32,51,.06), rgba(176,128,48,.08));
  border-bottom:1px solid var(--sb-border);
}
.sb-hero__inner{
  display:grid; grid-template-columns: 1.3fr .7fr;
  gap:22px; padding:46px 0;
}
.sb-hero__title{font-size:44px; line-height:1.05; margin:0 0 12px}
.sb-hero__lead{font-size:16px; color:rgba(11,26,34,.78); margin:0 0 16px}
.sb-hero__actions{display:flex; gap:10px; flex-wrap:wrap}
.sb-hero__card{
  background:#fff;
  border:1px solid var(--sb-border);
  border-radius:var(--sb-radius);
  box-shadow:var(--sb-shadow);
  padding:18px;
  align-self:start;
}
.sb-list{margin:0; padding-left:18px}
.sb-list li{margin:6px 0}

@media (max-width: 900px){
  .sb-hero__inner{grid-template-columns:1fr}
}

.sb-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:16px;
}
.sb-grid--3{grid-template-columns:repeat(3,1fr)}
@media (max-width: 980px){
  .sb-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width: 640px){
  .sb-grid{grid-template-columns:1fr}
}

.sb-card{
  background:#fff;
  border:1px solid var(--sb-border);
  border-radius:var(--sb-radius);
  box-shadow:var(--sb-shadow);
  padding:16px;
}
.sb-card--listing{padding:0; overflow:hidden}
.sb-card__media img{width:100%; height:220px; object-fit:cover}
.sb-card__placeholder{height:220px; background:var(--sb-light)}
.sb-card__body{padding:14px 16px}

.sb-meta{display:flex; gap:8px; flex-wrap:wrap; margin-top:10px}
.sb-pill{
  background:rgba(176,128,48,.14);
  color:var(--sb-navy);
  font-weight:700;
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
}
.sb-pill--ghost{
  background:rgba(0,32,51,.06);
  color:rgba(0,32,51,.85);
}

.sb-content-grid{
  display:grid;
  grid-template-columns: 1fr 320px;
  gap:22px;
}
@media (max-width: 980px){
  .sb-content-grid{grid-template-columns:1fr}
}

.sb-article__header{margin-bottom:14px}
.sb-article__content{line-height:1.7}
.sb-figure{margin:0 0 14px}
.sb-sidebar .widget{border:1px solid var(--sb-border); border-radius:var(--sb-radius); padding:14px; margin-bottom:16px}

.sb-pagination{margin-top:18px}
.sb-pagination--single{display:flex; justify-content:space-between; gap:10px}

.sb-search{display:flex; gap:10px; margin-top:12px; max-width:560px}
.sb-search__input{
  flex:1; padding:12px 14px;
  border-radius:999px;
  border:1px solid var(--sb-border);
}
.sb-search__btn{padding:12px 18px}

.sb-cta{
  background:var(--sb-navy);
  color:#fff;
  padding:38px 0;
}
.sb-cta__inner{
  display:flex; align-items:center; justify-content:space-between;
  gap:14px; flex-wrap:wrap;
}
.sb-cta .sb-muted{color:rgba(255,255,255,.78)}
.sb-cta .sb-btn--primary{background:var(--sb-gold); color:#111; border-color:transparent}
.sb-cta .sb-btn--primary:hover{opacity:.95}

.sb-footer{
  background:#0B1A22;
  color:#fff;
  margin-top:40px;
}
.sb-footer__grid{
  display:grid; grid-template-columns: 1.2fr 1fr 1fr;
  gap:22px; padding:36px 0;
}
@media (max-width: 900px){
  .sb-footer__grid{grid-template-columns:1fr}
}
.sb-footer__title{margin:0 0 10px}
.sb-footer .sb-muted{color:rgba(255,255,255,.72)}
.sb-footer a{color:#fff}
.sb-footer__bottom{
  border-top:1px solid rgba(255,255,255,.14);
  padding:14px 0;
}
.sb-footer__bottom-inner{display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap}
.sb-footer-menu{list-style:none; margin:0; padding:0; display:flex; gap:14px}

.sb-filters{
  border:1px solid var(--sb-border);
  border-radius:var(--sb-radius);
  padding:16px;
  background:#fff;
  box-shadow:var(--sb-shadow);
  margin-bottom:18px;
}
.sb-filters__grid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap:12px 14px;
}
@media (max-width: 980px){
  .sb-filters__grid{grid-template-columns: repeat(2, minmax(0, 1fr));}
}
@media (max-width: 640px){
  .sb-filters__grid{grid-template-columns: 1fr;}
}
.sb-filters__actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:14px;
}

.sb-label{display:block; font-weight:700; margin:0 0 6px; font-size:13px; color:rgba(11,26,34,.82);}
.sb-input{
  width:100%;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid var(--sb-border);
  background:#fff;
  outline:none;
}
.sb-input:focus{border-color:rgba(0,32,51,.45); box-shadow:0 0 0 4px rgba(0,32,51,.08)}

.sb-form__grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:12px 14px;
}
.sb-form__full{grid-column:1 / -1}

.sb-alert{
  padding:12px 14px;
  border-radius:14px;
  border:1px solid var(--sb-border);
  margin-bottom:14px;
  font-weight:700;
}
.sb-alert--success{background:rgba(0,128,0,.08); border-color:rgba(0,128,0,.18)}
.sb-alert--error{background:rgba(176,0,0,.08); border-color:rgba(176,0,0,.18)}

.sb-price{
  margin:10px 0 0;
  font-weight:900;
  color:var(--sb-navy);
  font-size:16px;
}

.sb-kpis{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:12px;
  margin:16px 0 16px;
}
@media (max-width: 900px){
  .sb-kpis{grid-template-columns: repeat(2, minmax(0, 1fr));}
}
@media (max-width: 640px){
  .sb-kpis{grid-template-columns: 1fr;}
}
.sb-kpi{
  border:1px solid var(--sb-border);
  border-radius:var(--sb-radius);
  padding:14px;
  background:#fff;
  box-shadow:var(--sb-shadow);
}
.sb-kpi__label{font-size:12px; font-weight:800; color:rgba(11,26,34,.7); margin-bottom:6px}
.sb-kpi__value{font-size:16px; font-weight:900; color:var(--sb-navy)}

.sb-cta--inline{margin-top:22px; border-radius:0}
.sb-content-grid--contact{grid-template-columns: 1fr 360px}
@media (max-width: 980px){
  .sb-content-grid--contact{grid-template-columns: 1fr;}
}
