:root{
  --sb-navy:#102631;
  --sb-navy-2:#173b4b;
  --sb-ice:#eaf2f5;
  --sb-soft:#f7f9fa;
  --sb-white:#fff;
  --sb-red:#d94932;
  --sb-red-dark:#b93625;
  --sb-max:1180px;
}
.sb-topbar{background:var(--sb-navy);color:#fff;font-size:.88rem}
.sb-topbar .sb-shell{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.sb-topbar__links{display:flex;flex-wrap:wrap;gap:16px;align-items:center}
.sb-topbar a{color:#fff;text-decoration:none;font-weight:650}
.sb-topbar__note{color:rgba(255,255,255,.72)}
.sb-site-header{box-shadow:0 8px 30px rgba(16,38,49,.06)}
.sb-header-inner{grid-template-columns:auto minmax(0,1fr) auto auto}
.sb-header-cta{white-space:nowrap;border-radius:999px;padding-inline:17px;min-height:42px}
.sb-header-search{white-space:nowrap}
.sb-menu a{position:relative;padding:25px 0 23px}
.sb-menu a::after{content:"";position:absolute;left:0;right:100%;bottom:17px;height:2px;background:var(--sb-accent);transition:right .18s ease}
.sb-menu a:hover::after,.sb-menu a:focus::after,.sb-menu .current-menu-item>a::after,.sb-menu .current-menu-ancestor>a::after{right:0}
.sb-visual-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#e9f1f4 0%,#fff 58%);padding:clamp(44px,7vw,88px) 0}
.sb-visual-hero__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);gap:clamp(34px,6vw,76px);align-items:center}
.sb-visual-hero h1{margin:.15em 0 .45em;font-size:clamp(2.35rem,5vw,4.45rem);line-height:1.01;letter-spacing:-.04em}
.sb-visual-hero__lead{font-size:clamp(1.06rem,1.8vw,1.22rem);color:var(--sb-muted);max-width:720px}
.sb-visual-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.sb-visual-hero__media{position:relative;border-radius:24px;overflow:hidden;background:#dbe7eb;min-height:390px;box-shadow:0 22px 70px rgba(16,38,49,.18)}
.sb-visual-hero__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sb-visual-hero__badge{position:absolute;left:20px;bottom:20px;max-width:290px;padding:14px 16px;border-radius:14px;background:rgba(16,38,49,.9);color:#fff;backdrop-filter:blur(8px)}
.sb-visual-hero__badge strong{display:block;font-size:1rem}
.sb-visual-hero__badge span{display:block;margin-top:3px;font-size:.85rem;color:rgba(255,255,255,.78)}
.sb-proof-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#dfe7ea;border:1px solid #dfe7ea;border-radius:16px;overflow:hidden;margin-top:30px}
.sb-proof-strip>div{background:#fff;padding:18px 20px}
.sb-proof-strip strong{display:block;font-size:1.02rem}
.sb-proof-strip span{display:block;color:var(--sb-muted);font-size:.9rem;margin-top:4px}
.sb-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.sb-project-card{position:relative;min-height:330px;border-radius:18px;overflow:hidden;background:#dce7eb;box-shadow:var(--sb-shadow)}
.sb-project-card>a{display:block;position:absolute;inset:0;color:#fff;text-decoration:none}
.sb-project-card img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.sb-project-card:hover img{transform:scale(1.035)}
.sb-project-card__overlay{position:absolute;inset:auto 0 0;padding:56px 22px 20px;background:linear-gradient(transparent,rgba(9,24,31,.9))}
.sb-project-card__overlay span{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.76)}
.sb-project-card__overlay h3{margin:5px 0 0;font-size:1.16rem;line-height:1.25;color:#fff}
.sb-page-intro{max-width:760px;margin-bottom:32px}
.sb-page-intro h1{margin:.1em 0 .35em;font-size:clamp(2.2rem,4.5vw,3.8rem);line-height:1.04;letter-spacing:-.035em}
.sb-page-intro p{font-size:1.08rem;color:var(--sb-muted)}
.sb-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.sb-feature-card{padding:24px;border:1px solid var(--sb-line);border-radius:16px;background:#fff;box-shadow:0 8px 28px rgba(18,38,48,.05)}
.sb-feature-card h3{margin:0 0 8px;font-size:1.12rem}
.sb-feature-card p{margin:0;color:var(--sb-muted)}
.sb-feature-card a{font-weight:750;text-decoration:none}
.sb-media-band{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:42px;align-items:center}
.sb-media-band__image{min-height:360px;border-radius:20px;overflow:hidden;background:var(--sb-surface);box-shadow:var(--sb-shadow)}
.sb-media-band__image img{width:100%;height:100%;object-fit:cover}
.sb-media-band__copy h2{margin-top:0;font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.08}
.sb-media-band__copy p,.sb-media-band__copy li{color:var(--sb-muted)}
.sb-contact-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.75fr);gap:30px;align-items:start}
.sb-contact-panel{padding:28px;border:1px solid var(--sb-line);border-radius:18px;background:#fff;box-shadow:var(--sb-shadow)}
.sb-contact-panel--dark{background:var(--sb-navy);color:#fff;border-color:var(--sb-navy)}
.sb-contact-panel--dark a{color:#fff}
.sb-contact-panel h2,.sb-contact-panel h3{margin-top:0}
.sb-contact-list{display:grid;gap:15px;margin:20px 0 0}
.sb-contact-list div{padding-top:15px;border-top:1px solid var(--sb-line)}
.sb-contact-panel--dark .sb-contact-list div{border-color:rgba(255,255,255,.18)}
.sb-contact-list span{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.07em;color:var(--sb-muted)}
.sb-contact-panel--dark .sb-contact-list span{color:rgba(255,255,255,.62)}
.sb-contact-list strong,.sb-contact-list a{font-size:1.02rem;text-decoration:none}
.sb-contact-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.sb-register-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}
.sb-register-grid>div{padding:16px;border-radius:12px;background:var(--sb-surface)}
.sb-register-grid span{display:block;color:var(--sb-muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}
.sb-register-grid strong{display:block;margin-top:3px}
.sb-callout{padding:clamp(26px,4vw,42px);border-radius:20px;background:linear-gradient(135deg,var(--sb-navy),var(--sb-navy-2));color:#fff}
.sb-callout h2{margin:0 0 8px;font-size:clamp(1.65rem,3vw,2.35rem)}
.sb-callout p{margin:0;color:rgba(255,255,255,.78);max-width:800px}
.sb-callout .sb-button{margin-top:20px;background:#fff;color:var(--sb-navy);border-color:#fff}
.sb-callout .sb-button:hover,.sb-callout .sb-button:focus{background:#eef3f5;color:var(--sb-navy)}
.sb-gallery-hub-visual{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.sb-gallery-entry{position:relative;min-height:360px;border-radius:18px;overflow:hidden;background:#dce7eb}
.sb-gallery-entry img{width:100%;height:100%;object-fit:cover}
.sb-gallery-entry__copy{position:absolute;inset:auto 0 0;padding:72px 24px 24px;background:linear-gradient(transparent,rgba(8,24,32,.92));color:#fff}
.sb-gallery-entry__copy h2{margin:0 0 7px;color:#fff}
.sb-gallery-entry__copy p{margin:0;color:rgba(255,255,255,.75)}
.sb-gallery-entry>a{position:absolute;inset:0;z-index:2}
.sb-category-card:has(.sb-card-media){transition:transform .18s ease,box-shadow .18s ease}
.sb-category-card:has(.sb-card-media):hover{transform:translateY(-3px);box-shadow:0 16px 42px rgba(18,38,48,.12)}
.sb-category-card:not(:has(.sb-card-media))::before{content:"";display:block;aspect-ratio:16/10;background:linear-gradient(135deg,#dce8ed,#f3f7f8)}
.sb-site-footer{margin-top:0;padding-top:0;background:#0d212b}
.sb-footer-cta{padding:40px 0;background:var(--sb-navy-2);border-bottom:1px solid rgba(255,255,255,.12)}
.sb-footer-cta__inner{display:flex;align-items:center;justify-content:space-between;gap:24px}
.sb-footer-cta h2{margin:0;color:#fff;font-size:clamp(1.45rem,3vw,2.15rem)}
.sb-footer-cta p{margin:5px 0 0;color:rgba(255,255,255,.7)}
.sb-footer-main{padding:46px 0 28px}
.sb-footer-grid{grid-template-columns:minmax(220px,1fr) minmax(0,1fr) minmax(220px,.75fr);align-items:start}
.sb-footer-brand p{color:rgba(255,255,255,.7);max-width:340px}
.sb-footer-contact{display:grid;gap:9px}
.sb-footer-contact a{text-decoration:none}
.sb-footer-contact span{color:rgba(255,255,255,.62);font-size:.85rem}
.sb-site-footer .sb-footer-menu{justify-content:flex-start;align-items:flex-start;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px}
.sb-site-footer .sb-footer-menu a{color:rgba(255,255,255,.88)}
@media(max-width:1050px){
  .sb-header-inner{grid-template-columns:auto 1fr auto auto}
  .sb-header-cta{display:none}
  .sb-menu{gap:16px}
  .sb-menu a{font-size:.92rem}
}
@media(max-width:900px){
  .sb-topbar__note{display:none}
  .sb-header-inner{grid-template-columns:1fr auto auto}
  .sb-primary-nav{top:76px;padding:12px 16px 22px;box-shadow:0 18px 30px rgba(16,38,49,.12)}
  .sb-menu a{display:block;padding:10px 0}
  .sb-menu a::after{display:none}
  .sb-visual-hero__grid,.sb-media-band,.sb-contact-layout{grid-template-columns:1fr}
  .sb-visual-hero__media{min-height:330px;order:-1}
  .sb-project-grid,.sb-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sb-footer-grid{grid-template-columns:1fr 1fr}
  .sb-footer-brand{grid-column:1/-1}
}
@media(max-width:620px){
  .sb-topbar .sb-shell{min-height:42px}
  .sb-topbar__links{gap:10px;font-size:.82rem}
  .sb-topbar__links a:nth-child(2){display:none}
  .sb-header-search{display:none}
  .sb-visual-hero{padding-top:28px}
  .sb-visual-hero__media{min-height:245px;border-radius:16px}
  .sb-visual-hero__badge{left:12px;right:12px;bottom:12px;max-width:none}
  .sb-proof-strip,.sb-project-grid,.sb-feature-grid,.sb-register-grid,.sb-gallery-hub-visual{grid-template-columns:1fr}
  .sb-project-card{min-height:280px}
  .sb-gallery-entry{min-height:300px}
  .sb-footer-cta__inner{align-items:flex-start;flex-direction:column}
  .sb-footer-grid{grid-template-columns:1fr}
  .sb-footer-brand{grid-column:auto}
  .sb-site-footer .sb-footer-menu{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .sb-project-card img,.sb-menu a::after{transition:none}
}
