:root{
  --bsd-primary:#1473cf;
  --bsd-primary-2:#0e62ba;
  --bsd-light:#edf7ff;
  --bsd-dark:#074777;
  --bsd-ink:#0f1720;
  --bsd-muted:#65717e;
  --bsd-border:#dce9f4;
  --bsd-radius:20px;
}
html{scroll-behavior:smooth}
body{font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--bsd-ink);background:#fff;line-height:1.65;overflow-x:hidden}
a{text-decoration:none;color:inherit}
img{max-width:100%;height:auto}
.btn{border-radius:7px;font-weight:700;letter-spacing:.01em;padding:.72rem 1.25rem}
.btn-primary{background:var(--bsd-primary);border-color:var(--bsd-primary)}
.btn-primary:hover{background:var(--bsd-dark);border-color:var(--bsd-dark)}
.text-primary{color:var(--bsd-primary)!important}
.section-pad{padding:72px 0}
.section-kicker{font-size:.84rem;font-weight:800;letter-spacing:.04em;color:var(--bsd-primary);text-transform:uppercase;margin-bottom:.35rem}
.section-title{font-size:clamp(2rem,3vw,3rem);font-weight:900;letter-spacing:-.04em;line-height:1.05;margin-bottom:1.15rem}
.section-title::first-letter{}
.section-text{color:#34414d;font-size:1.02rem}

/* Header */
.bsd-header{background:rgba(255,255,255,.95);backdrop-filter:blur(15px);border-bottom:1px solid rgba(13,86,150,.06);z-index:999}
.bsd-brand{padding:0;margin-right:1.5rem;display:flex;align-items:center;flex:0 0 auto}
.bsd-brand-link{display:flex;align-items:center;line-height:0}
.bsd-site-logo,.bsd-brand-logo{display:block;width:auto;max-width:165px;max-height:72px;height:auto;object-fit:contain}
.bsd-logo-default{width:145px;height:auto;object-fit:contain}
.navbar-nav .menu-item{position:relative}
.navbar-nav .menu-item>a{display:block;padding:.65rem .82rem;color:#17202a;font-size:.82rem;font-weight:750;text-transform:uppercase}
.navbar-nav .current-menu-item>a,.navbar-nav .menu-item>a:hover{color:var(--bsd-primary)}
.navbar-nav .current-menu-item>a:after{content:"";position:absolute;left:.82rem;right:.82rem;bottom:0;height:2px;background:var(--bsd-primary)}
.navbar-nav .sub-menu{display:none;position:absolute;top:100%;left:0;min-width:210px;background:#fff;padding:.55rem;list-style:none;border-radius:10px;box-shadow:0 12px 35px rgba(14,72,120,.15);z-index:20}
.navbar-nav .menu-item:hover>.sub-menu{display:block}
.navbar-nav .sub-menu a{padding:.55rem .75rem!important;border-radius:6px;text-transform:none!important}
.navbar-nav .sub-menu a:hover{background:var(--bsd-light)}
.bsd-phone-btn{white-space:nowrap;font-size:.9rem}

/* Hero */
.bsd-hero{background:linear-gradient(115deg,#fff 0%,var(--bsd-light) 55%,#dcefff 100%);min-height:520px}
.bsd-hero:before{content:"";position:absolute;width:520px;height:520px;border:54px solid rgba(53,147,230,.08);transform:rotate(36deg);border-radius:95px;left:15%;top:-220px;pointer-events:none}
.min-vh-hero{min-height:520px}
.hero-copy{position:relative;z-index:3}
.hero-title{display:flex;flex-direction:column;font-size:clamp(2.65rem,5vw,5rem);font-weight:950;line-height:.96;letter-spacing:-.055em;color:#10161d}
.hero-title strong{color:var(--bsd-primary);font-weight:950}
.hero-title span:last-child{margin-top:.14em}
.hero-text{font-size:1.1rem;color:#0c5aa3;font-weight:650;max-width:480px}
.hero-text p{margin:0}
.hero-image-wrap{min-height:520px;position:relative;z-index:1;clip-path:polygon(18% 0,100% 0,100% 100%,0 100%,10% 60%,0 46%)}
.hero-image{background-size:cover;background-position:center;min-height:520px;box-shadow:inset 40px 0 60px rgba(226,243,255,.22)}
.hero-mini-features>div{display:flex;align-items:center;gap:.65rem;font-size:.73rem;font-weight:850;line-height:1.25}
.hero-mini-features i{font-size:1.8rem;color:var(--bsd-primary)}
.carousel-control-prev,.carousel-control-next{width:5%}
.carousel-indicators [data-bs-target]{background-color:var(--bsd-primary)}

/* Services */
.bsd-services-section{position:relative;margin-top:-24px;z-index:10}
.bsd-services-card{background:#fff;border:1px solid #e6eef5;border-radius:20px;padding:18px 20px;box-shadow:0 18px 55px rgba(19,97,165,.11)!important}
.service-col{border-right:1px solid #e8eef4;border-bottom:1px solid #eef3f7}
.service-col:nth-child(4n){border-right:0}
.service-col:nth-last-child(-n+4){border-bottom:0}
.bsd-service-item{padding:21px 18px;min-height:106px}
.service-title{font-size:.92rem;font-weight:900;line-height:1.18;text-transform:uppercase}
.hex-icon{width:58px;height:64px;min-width:58px;display:grid;place-items:center;background:linear-gradient(145deg,var(--bsd-primary),var(--bsd-dark));color:#fff;clip-path:polygon(25% 5%,75% 5%,100% 25%,100% 75%,75% 95%,25% 95%,0 75%,0 25%);position:relative}
.hex-icon:after{content:"";position:absolute;inset:4px;border:1px solid rgba(255,255,255,.55);clip-path:inherit}
.hex-icon i{font-size:1.75rem;position:relative;z-index:2}

/* About */
.about-image-card{height:405px;border-radius:18px;background:var(--bsd-light)}
.about-image-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,50,92,.12))}
.about-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;width:70px;height:70px;border:4px solid #fff;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:2rem;background:rgba(20,115,207,.12);backdrop-filter:blur(5px)}
.bsd-stats .stat-item{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:.5rem}
.stat-item i{grid-row:1/3;font-size:1.55rem;color:var(--bsd-primary)}
.stat-item strong{font-size:1.4rem;color:var(--bsd-primary);line-height:1}
.stat-item span{font-size:.6rem;font-weight:850;line-height:1.15;text-transform:uppercase}

/* Projects */
.bsd-projects{background:#fff}
.project-card{height:235px;border-radius:16px;background:#e9f3fb}
.project-card img{transition:transform .45s ease}
.project-overlay{position:absolute;inset:auto 0 0 0;padding:45px 16px 14px;color:#fff;background:linear-gradient(transparent,rgba(2,41,75,.85));display:flex;align-items:end;justify-content:space-between;opacity:0;transition:.3s}
.project-card:hover img{transform:scale(1.045)}
.project-card:hover .project-overlay{opacity:1}
.project-overlay i{font-size:1.35rem}

/* Advantages */
.bsd-advantages{background:linear-gradient(90deg,#f0f9ff,var(--bsd-light),#e6f4ff);border-top:1px solid #e1effa;border-bottom:1px solid #e1effa}
.advantage-item{height:100%}
.advantage-icon{font-size:2.45rem;color:var(--bsd-primary);line-height:1}
.advantage-item h3{font-size:.93rem;font-weight:900;color:#0c5ca7;line-height:1.2;margin-bottom:.55rem}
.advantage-item p{font-size:.8rem;color:#394652;margin:0;line-height:1.5}

/* Contact */
.cta-title{max-width:470px}
.contact-card{border:1px solid #e6eef5;border-radius:18px;background:#fff}
.contact-line{display:flex;gap:1rem;align-items:center;margin-bottom:1.45rem;color:#25333f}
.contact-line:last-child{margin-bottom:0}
.contact-line i{color:var(--bsd-primary);font-size:1.35rem;width:25px;text-align:center}
.contact-line a{font-weight:650}
.contact-line small{display:block;color:#6a7783;margin-top:.35rem;max-width:270px}
.contact-image{background:var(--bsd-light);min-height:255px}

/* Footer */
.bsd-footer{background:linear-gradient(100deg,#064779,#075795);color:#fff}
.footer-logo-wrap{background:#fff;border-radius:8px;padding:8px}
.footer-logo{display:block;width:auto;max-width:145px;max-height:70px;height:auto;object-fit:contain}
.bsd-footer h5{font-size:.85rem;font-weight:900;margin-bottom:1rem}
.bsd-footer a{color:#fff;opacity:.95}
.bsd-footer a:hover{opacity:1;color:#dff2ff}
.footer-phone a:first-child{font-size:1.65rem;font-weight:900;letter-spacing:.02em}
.footer-wa{font-size:1.6rem;color:#38df73!important}
.footer-socials a{font-size:1.15rem}
.bsd-footer hr{border-color:rgba(255,255,255,.2);margin:1.5rem 0 1rem}
.footer-bottom{color:rgba(255,255,255,.84);font-size:.72rem}

/* Floating WhatsApp */
.bsd-whatsapp-float{position:fixed;right:22px;bottom:22px;width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:#22c55e;color:#fff!important;font-size:2rem;z-index:9999;box-shadow:0 12px 30px rgba(10,105,45,.32);border:4px solid rgba(255,255,255,.92);transition:.25s}
.bsd-whatsapp-float:hover{transform:translateY(-3px) scale(1.04);background:#16a34a}

/* Inner pages */
.bsd-page-hero{background:linear-gradient(115deg,#f8fcff,var(--bsd-light));border-bottom:1px solid #e1edf6}
.bsd-page-hero h1{font-weight:900;font-size:clamp(2.1rem,5vw,4.4rem);letter-spacing:-.05em}
.bsd-content{font-size:1.02rem;color:#26323d}
.bsd-content h2,.bsd-content h3,.bsd-content h4{font-weight:850;margin-top:1.8em;color:#0f2438}
.bsd-content img{border-radius:14px}
.blog-card,.project-archive-card{border:1px solid #e8eef3;transition:.25s}
.blog-card:hover,.project-archive-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(8,73,125,.12)!important}
.blog-card h2 a{color:#142333}
.blog-thumb,.project-archive-thumb{height:240px;object-fit:cover}

/* Gutenberg */
.entry-content .alignwide{max-width:1200px;margin-left:auto;margin-right:auto}
.entry-content .alignfull{width:100vw;margin-left:calc(50% - 50vw)}

@media (max-width:991.98px){
  .bsd-header{position:relative!important}
  .navbar-nav .menu-item>a{padding:.65rem 0}
  .navbar-nav .current-menu-item>a:after{left:0;right:auto;width:35px}
  .navbar-nav .sub-menu{display:block;position:static;box-shadow:none;padding-left:1rem}
  .min-vh-hero{min-height:auto}
  .hero-image-wrap{min-height:400px;clip-path:polygon(0 8%,100% 0,100% 100%,0 100%)}
  .hero-image{min-height:400px}
  .bsd-services-section{margin-top:0;padding-top:20px}
  .service-col:nth-child(4n){border-right:1px solid #e8eef4}
  .service-col:nth-child(2n){border-right:0}
  .service-col:nth-last-child(-n+4){border-bottom:1px solid #eef3f7}
  .service-col:nth-last-child(-n+2){border-bottom:0}
  .project-card{height:260px}
}

@media (max-width:575.98px){
  .section-pad{padding:52px 0}
  .bsd-site-logo,.bsd-brand-logo{max-height:55px;max-width:140px}
  .hero-copy{padding-left:6px;padding-right:6px}
  .hero-title{font-size:3rem}
  .hero-image-wrap,.hero-image{min-height:280px}
  .hero-mini-features{gap:1rem!important}
  .hero-mini-features>div{font-size:.64rem}
  .hero-mini-features i{font-size:1.45rem}
  .bsd-services-card{padding:8px;border-radius:16px}
  .service-col{border-right:0!important}
  .service-col:not(:last-child){border-bottom:1px solid #eef3f7!important}
  .bsd-service-item{min-height:84px;padding:12px 10px}
  .hex-icon{width:50px;height:55px;min-width:50px}
  .service-title{font-size:.82rem}
  .about-image-card{height:320px}
  .project-card{height:230px}
  .contact-card .p-5{padding:1.5rem!important}
  .bsd-whatsapp-float{width:56px;height:56px;right:14px;bottom:14px}
}
