/* ==========================================================================
   BACKEND SYSTEMS LIMITED - Modern design layer
   Loaded after style.css. Provides smooth motion, cards, hero, CTA bands,
   responsive polish and accessible focus states.
   ========================================================================== */

/* ---------- Design tokens ------------------------------------------------ */
:root{
    --bs-primary:#0076b1;
    --bs-primary-dark:#045a86;
    --bs-primary-deep:#04364f;
    --bs-accent:#e7c130;
    --bs-accent-dark:#c9a21f;
    --bs-ink:#232323;
    --bs-muted:#6b7280;
    --bs-line:#e6eaf0;
    --bs-bg-soft:#f5f8fb;
    --bs-white:#ffffff;
    --bs-radius:14px;
    --bs-radius-sm:8px;
    --bs-shadow-sm:0 2px 8px rgba(7,42,64,.06);
    --bs-shadow:0 10px 30px rgba(7,42,64,.09);
    --bs-shadow-lg:0 22px 60px rgba(7,42,64,.16);
    --bs-ease:cubic-bezier(.4,0,.2,1);
    --bs-header-h:100px;
    --bs-maxw:1170px;
}

/* ---------- Base --------------------------------------------------------- */
html{
    scroll-behavior:smooth;
    scroll-padding-top:110px;
    -webkit-text-size-adjust:100%;
}
body{
    font-family:"Hind",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
    color:var(--bs-ink);
    background:var(--bs-white);
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
}
h1,h2,h3,h4,h5,h6,.heading{
    font-family:"Montserrat","Hind",sans-serif;
    color:var(--bs-primary-deep);
    font-weight:600;
    letter-spacing:-.01em;
}
p{ line-height:1.75; color:#3f4650; }
img{ max-width:100%; height:auto; }
a{ transition:color .25s var(--bs-ease), opacity .25s var(--bs-ease); }
::selection{ background:var(--bs-primary); color:#fff; }

:focus-visible{
    outline:3px solid var(--bs-accent);
    outline-offset:3px;
    border-radius:3px;
}

/* Scrollbar */
::-webkit-scrollbar{ width:11px; height:11px; }
::-webkit-scrollbar-track{ background:#eef2f6; }
::-webkit-scrollbar-thumb{ background:var(--bs-primary); border-radius:10px; border:3px solid #eef2f6; }
::-webkit-scrollbar-thumb:hover{ background:var(--bs-primary-dark); }

/* ---------- Layout helpers ---------------------------------------------- */
.container{ max-width:var(--bs-maxw); }
.section-pad{ padding:84px 0; }
.section-pad-sm{ padding:56px 0; }
.bg-soft{ background:var(--bs-bg-soft); }
.text-center{ text-align:center; }
.mt-0{ margin-top:0!important; }
.mb-0{ margin-bottom:0!important; }

/* Section heading block */
.bs-head{ max-width:760px; margin:0 auto 52px; text-align:center; }
.bs-head.left{ text-align:left; margin-left:0; }
.bs-eyebrow{
    display:inline-block;
    font-family:"Montserrat",sans-serif;
    font-size:12px;
    font-weight:700;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:var(--bs-primary);
    background:rgba(0,118,177,.09);
    border-radius:100px;
    padding:7px 16px;
    margin-bottom:16px;
}
.bs-head h2{
    font-size:clamp(26px,3.4vw,40px);
    line-height:1.2;
    margin:0 0 16px;
    font-weight:700;
}
.bs-head p{
    font-size:17px;
    color:var(--bs-muted);
    margin:0;
}
.bs-head::after{
    content:"";
    display:block;
    width:72px;
    height:4px;
    border-radius:4px;
    background:linear-gradient(90deg,var(--bs-primary),var(--bs-accent));
    margin:22px auto 0;
}
.bs-head.left::after{ margin-left:0; }

/* ---------- Buttons ----------------------------------------------------- */
.bs-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:14px 30px;
    border-radius:100px;
    font-family:"Montserrat",sans-serif;
    font-size:13px;
    font-weight:700;
    letter-spacing:.06em;
    text-transform:uppercase;
    line-height:1;
    border:2px solid transparent;
    cursor:pointer;
    position:relative;
    overflow:hidden;
    transition:transform .3s var(--bs-ease), box-shadow .3s var(--bs-ease),
               background-color .3s var(--bs-ease), color .3s var(--bs-ease),
               border-color .3s var(--bs-ease);
}
.bs-btn::after{
    content:"";
    position:absolute;
    top:0; left:-120%;
    width:60%; height:100%;
    background:rgba(255,255,255,.22);
    transform:skewX(-20deg);
    transition:left .6s var(--bs-ease);
}
.bs-btn:hover::after{ left:140%; }
.bs-btn:hover{ transform:translateY(-3px); }
.bs-btn:active{ transform:translateY(-1px); }
.bs-btn-primary{ background:var(--bs-primary); color:#fff; box-shadow:0 8px 20px rgba(0,118,177,.28); }
.bs-btn-primary:hover{ background:var(--bs-primary-dark); color:#fff; box-shadow:0 14px 30px rgba(0,118,177,.36); }
.bs-btn-accent{ background:var(--bs-accent); color:var(--bs-primary-deep); box-shadow:0 8px 20px rgba(231,193,48,.32); }
.bs-btn-accent:hover{ background:var(--bs-accent-dark); color:var(--bs-primary-deep); box-shadow:0 14px 30px rgba(231,193,48,.4); }
.bs-btn-ghost{ background:transparent; color:#fff; border-color:rgba(255,255,255,.65); }
.bs-btn-ghost:hover{ background:#fff; color:var(--bs-primary); border-color:#fff; }
.bs-btn-outline{ background:transparent; color:var(--bs-primary); border-color:var(--bs-primary); }
.bs-btn-outline:hover{ background:var(--bs-primary); color:#fff; border-color:var(--bs-primary); }
.bs-btn i{ font-size:15px; }

/* Legacy awe buttons re-skinned */
.awe-btn-12{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:13px 28px;
    border-radius:100px;
    background:var(--bs-accent);
    color:var(--bs-primary-deep);
    border:none;
    font-family:"Montserrat",sans-serif;
    font-size:13px;
    font-weight:700;
    letter-spacing:.06em;
    text-transform:uppercase;
    transition:transform .3s var(--bs-ease), box-shadow .3s var(--bs-ease), background-color .3s var(--bs-ease);
    box-shadow:0 8px 20px rgba(231,193,48,.3);
}
.awe-btn-12:hover{
    background:var(--bs-accent-dark);
    color:var(--bs-primary-deep);
    transform:translateY(-3px);
    box-shadow:0 14px 28px rgba(231,193,48,.38);
}

/* ---------- Header ------------------------------------------------------ */
#header{
    position:sticky;
    top:0;
    z-index:900;
    background:#fff;
    box-shadow:0 1px 0 rgba(7,42,64,.07);
    transition:box-shadow .35s var(--bs-ease);
}
#header.scrolled{ box-shadow:0 8px 26px rgba(7,42,64,.12); }

/* ---------- Mega menu ---------------------------------------------------- */
.menu-caret{
    display:inline-block;
    margin-left:6px;
    width:7px; height:7px;
    border-right:2px solid currentColor;
    border-bottom:2px solid currentColor;
    transform:rotate(45deg) translateY(-2px);
    transition:transform .25s var(--bs-ease);
}
.menu-has-mega{ position:relative; }
.menu-has-mega:hover > a .menu-caret{ transform:rotate(-135deg) translateY(1px); }
.menu-has-mega > .bs-mega{
    position:absolute;
    left:50%;
    transform:translateX(-50%) translateY(12px);
    top:100%;
    width:min(1180px, calc(100vw - 40px));
    background:#fff;
    border:1px solid var(--bs-line);
    border-radius:0 0 var(--bs-radius) var(--bs-radius);
    box-shadow:var(--bs-shadow-lg);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .3s var(--bs-ease), transform .3s var(--bs-ease), visibility .3s var(--bs-ease);
    z-index:1050;
}
.menu-has-mega:hover > .bs-mega,
.menu-has-mega:focus-within > .bs-mega{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateX(-50%) translateY(0);
}
.bs-mega-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:0;
}
.bs-mega-col{
    padding:28px 30px;
    border-right:1px solid var(--bs-line);
}
.bs-mega-col:last-child{ border-right:none; }
.bs-mega-col h4{
    font-family:"Montserrat",sans-serif;
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.12em;
    color:var(--bs-primary-deep);
    margin:0 0 14px;
}
.bs-mega-col ul{ list-style:none; margin:0; padding:0; }
.bs-mega-col li{ margin:0; }
.bs-mega-col li a{
    display:flex;
    align-items:center;
    padding:8px 0;
    font-size:14px;
    color:#3f4650;
    transition:color .2s var(--bs-ease), padding-left .25s var(--bs-ease);
}
.bs-mega-col li a:hover{ color:var(--bs-primary); padding-left:4px; }
.bs-mega-col li.current-menu-item > a{
    color:var(--bs-primary);
    font-weight:600;
}
.bs-mega-cta{
    margin-top:18px;
    padding:18px 20px;
    border-radius:12px;
    background:linear-gradient(140deg, rgba(0,118,177,.12), rgba(231,193,48,.16));
}
.bs-mega-cta p{
    margin:0 0 10px;
    font-family:"Montserrat",sans-serif;
    font-weight:700;
    color:var(--bs-primary-deep);
}
.bs-mega-btn{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-family:"Montserrat",sans-serif;
    font-size:12px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.08em;
    color:var(--bs-primary-deep);
}
.bs-mega-btn i{ transition:transform .25s var(--bs-ease); }
.bs-mega-btn:hover i{ transform:translateX(5px); }

/* Contact CTA in nav */
.header_menu .menu > li.menu-cta > a{
    margin-left:14px;
    padding:10px 22px !important;
    line-height:1.6 !important;
    border-radius:100px;
    background:linear-gradient(90deg, var(--bs-primary), var(--bs-primary-deep));
    color:#fff !important;
    box-shadow:0 10px 30px rgba(0,118,177,.22);
}
.header_menu .menu > li.menu-cta > a::after{ display:none; }
.header_menu .menu > li.menu-cta:hover > a{
    color:#fff !important;
    transform:translateY(-2px);
    box-shadow:0 16px 34px rgba(0,118,177,.28);
}
.header_top{
    background:linear-gradient(90deg,var(--bs-primary-deep),var(--bs-primary));
    color:rgba(255,255,255,.9);
    font-size:13px;
    line-height:1.4;
    transition:max-height .4s var(--bs-ease), opacity .3s var(--bs-ease);
    max-height:60px;
    position:relative;
    z-index:1100;
}
.header_top .header_left span{
    display:inline-flex;
    align-items:center;
    gap:6px;
    margin-right:22px;
}
.header_top .header_left span img{ width:15px; height:15px; object-fit:contain; }
.header_top a{ color:#fff; }
.header_top a:hover{ color:var(--bs-accent); }
.header_top .social-icon img{ transition:transform .3s var(--bs-ease), opacity .3s var(--bs-ease); }
.header_top .social-icon img:hover{ transform:translateY(-2px) scale(1.08); opacity:.85; }
.header_content{ background:#fff; }
.header_logo img{ max-height:78px; width:auto; transition:transform .35s var(--bs-ease); }
.header_logo a:hover img{ transform:scale(1.03); }

/* ---------- Header layout reset (overrides the legacy theme rules) ---------- */
#header{ position:relative; z-index:1080; }
#header .header_content{
    position:relative !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    width:100%;
    font-size:14px;
    text-align:left;
    z-index:1050;
    border-bottom:1px solid var(--bs-line);
}
#header .header_content::after{ display:none; }
#header .header_content .container{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:22px;
    width:100%;
}
#header .header_logo{
    float:none !important;
    line-height:1;
    display:flex;
    align-items:center;
    flex:0 0 auto;
}
#header .header_menu{
    float:none !important;
    display:block;
    position:relative;
    width:auto;
    text-align:right;
    font-size:14px;
    vertical-align:middle;
}
#header .header_menu .menu{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:2px;
    list-style:none;
    margin:0;
    padding:0;
    white-space:nowrap;
}
#header .header_menu .menu > li{
    float:none !important;
    position:relative;
}
#header .header_menu .menu > li > a{
    display:inline-flex;
    align-items:center;
    padding:0 13px !important;
    line-height:84px;
    font-size:12.5px;
    font-weight:600;
    letter-spacing:.06em;
    text-transform:uppercase;
    color:var(--bs-primary-deep);
    white-space:nowrap;
    transition:color .25s var(--bs-ease);
}
#header .header_menu .menu > li > a:hover{ color:var(--bs-primary); }
#header .header_menu .menu > li.current-menu-item > a{ color:var(--bs-primary); }
#header .header_menu .menu > li > a::after{ bottom:26px; }
#header .menu-bars{ display:none; }

/* Navigation */
.header_menu .menu > li > a{
    font-family:"Montserrat",sans-serif;
    font-size:12.5px;
    font-weight:600;
    letter-spacing:.06em;
    text-transform:uppercase;
    color:var(--bs-primary-deep);
    position:relative;
    padding:0 2px;
}
.header_menu .menu > li > a::after{
    content:"";
    position:absolute;
    left:0; bottom:-8px;
    width:0; height:3px;
    border-radius:3px;
    background:linear-gradient(90deg,var(--bs-primary),var(--bs-accent));
    transition:width .35s var(--bs-ease);
}
.header_menu .menu > li:hover > a::after,
.header_menu .menu > li.current-menu-item > a::after{ width:100%; }
.header_menu .menu > li.current-menu-item > a{ color:var(--bs-primary); }
.header_menu .menu > li > .sub-menu{
    background:#fff;
    border-radius:0 0 12px 12px;
    box-shadow:0 18px 40px rgba(7,42,64,.14);
    border-top:3px solid var(--bs-accent);
    padding:10px 0;
    opacity:0;
    visibility:hidden;
    transform:translateY(14px);
    transition:opacity .3s var(--bs-ease), transform .3s var(--bs-ease), visibility .3s;
}
.header_menu .menu > li:hover > .sub-menu{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}
.header_menu .menu > li > .sub-menu li a{
    display:flex;
    align-items:center;
    gap:8px;
    padding:9px 22px;
    font-size:13.5px;
    color:var(--bs-ink);
    white-space:nowrap;
    transition:background-color .25s var(--bs-ease), color .25s var(--bs-ease), padding-left .25s var(--bs-ease);
}
.header_menu .menu > li > .sub-menu li a:hover{
    background:var(--bs-bg-soft);
    color:var(--bs-primary);
    padding-left:27px;
}
.header_menu .menu > li > .sub-menu li a img{ width:16px; height:16px; opacity:.6; }
.header_menu .menu > li > .sub-menu li a:hover img{ opacity:1; }

/* Mobile toggle */
.menu-bars{
    display:block;
    width:38px;
    height:38px;
    position:relative;
    cursor:pointer;
    border-radius:8px;
    transition:background-color .25s var(--bs-ease);
}
.menu-bars:hover{ background:var(--bs-bg-soft); }
.menu-bars span,
.menu-bars span::before,
.menu-bars span::after{
    position:absolute;
    left:50%;
    width:22px;
    height:2px;
    background:var(--bs-primary-deep);
    border-radius:2px;
    transition:transform .35s var(--bs-ease), opacity .25s var(--bs-ease), background-color .25s var(--bs-ease);
}
.menu-bars span{ top:50%; margin-top:-1px; }
.menu-bars span::before,
.menu-bars span::after{ content:""; left:0; }
.menu-bars span::before{ top:-7px; }
.menu-bars span::after{ top:7px; }
.menu-bars.active span{ background:transparent; }
.menu-bars.active span::before{ transform:rotate(45deg); top:0; }
.menu-bars.active span::after{ transform:rotate(-45deg); top:0; }

/* ---------- Hero -------------------------------------------------------- */
.bs-hero{
    position:relative;
    background:var(--bs-primary-deep);
    overflow:hidden;
    isolation:isolate;
}
.bs-hero-bg{
    position:absolute;
    inset:0;
    background-size:cover;
    background-position:center;
    z-index:-2;
    transform:scale(1.06);
    animation:bsHeroZoom 18s ease-in-out infinite alternate;
}
.bs-hero-bg::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(100deg,rgba(4,54,79,.94) 0%,rgba(4,54,79,.82) 42%,rgba(0,118,177,.55) 100%);
}
@keyframes bsHeroZoom{
    from{ transform:scale(1.04) translateX(0); }
    to{ transform:scale(1.12) translateX(-1.5%); }
}
.bs-hero-inner{
    position:relative;
    padding:120px 0 108px;
    color:#fff;
}
.bs-hero h1{
    color:#fff;
    font-size:clamp(30px,4.6vw,56px);
    line-height:1.12;
    font-weight:800;
    margin:18px 0 20px;
    text-shadow:0 2px 24px rgba(0,0,0,.28);
}
.bs-hero h1 em{ color:var(--bs-accent); font-style:normal; }
.bs-hero-lead{
    font-size:18px;
    line-height:1.75;
    color:rgba(255,255,255,.9);
    max-width:640px;
    margin-bottom:34px;
}
.bs-hero-actions{ display:flex; flex-wrap:wrap; gap:14px; }
.bs-hero-badge{
    display:inline-flex;
    align-items:center;
    gap:10px;
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.25);
    backdrop-filter:blur(6px);
    border-radius:100px;
    padding:8px 18px;
    font-size:13px;
    font-weight:600;
    letter-spacing:.04em;
    color:#fff;
}
.bs-hero-badge i{ color:var(--bs-accent); }
.bs-hero-points{
    margin-top:44px;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px 26px;
    max-width:620px;
}
.bs-hero-points li{
    list-style:none;
    display:flex;
    align-items:flex-start;
    gap:10px;
    font-size:15px;
    color:rgba(255,255,255,.92);
}
.bs-hero-points li i{ color:var(--bs-accent); margin-top:4px; }

/* Floating accent blob */
.bs-blob{
    position:absolute;
    border-radius:50%;
    filter:blur(60px);
    opacity:.35;
    z-index:-1;
    pointer-events:none;
}
.bs-blob.one{ width:380px; height:380px; background:var(--bs-primary); top:-90px; right:-70px; animation:bsFloat 13s ease-in-out infinite; }
.bs-blob.two{ width:300px; height:300px; background:var(--bs-accent); bottom:-120px; left:-80px; opacity:.22; animation:bsFloat 17s ease-in-out infinite reverse; }
@keyframes bsFloat{
    0%,100%{ transform:translate(0,0) scale(1); }
    50%{ transform:translate(28px,-28px) scale(1.08); }
}

/* ---------- Trust strip ------------------------------------------------- */
.bs-trust{
    background:var(--bs-primary);
    color:#fff;
    padding:22px 0;
}
.bs-trust .row{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:14px 44px; }
.bs-trust-item{
    display:inline-flex;
    align-items:center;
    gap:11px;
    font-size:14.5px;
    font-weight:500;
    color:rgba(255,255,255,.94);
}
.bs-trust-item i{ color:var(--bs-accent); font-size:18px; }
.bs-trust-item strong{ color:#fff; font-weight:700; }

/* ---------- Cards ------------------------------------------------------- */
.bs-card{
    background:#fff;
    border:1px solid var(--bs-line);
    border-radius:var(--bs-radius);
    padding:32px 28px;
    height:100%;
    position:relative;
    overflow:hidden;
    transition:transform .4s var(--bs-ease), box-shadow .4s var(--bs-ease), border-color .4s var(--bs-ease);
}
.bs-card::before{
    content:"";
    position:absolute;
    top:0; left:0;
    width:100%; height:4px;
    background:linear-gradient(90deg,var(--bs-primary),var(--bs-accent));
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .45s var(--bs-ease);
}
.bs-card:hover{
    transform:translateY(-8px);
    box-shadow:var(--bs-shadow-lg);
    border-color:transparent;
}
.bs-card:hover::before{ transform:scaleX(1); }
.bs-card-icon{
    width:58px; height:58px;
    border-radius:16px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(0,118,177,.09);
    color:var(--bs-primary);
    font-size:23px;
    margin-bottom:20px;
    transition:background-color .4s var(--bs-ease), color .4s var(--bs-ease), transform .4s var(--bs-ease);
}
.bs-card:hover .bs-card-icon{
    background:var(--bs-primary);
    color:#fff;
    transform:rotate(-6deg) scale(1.06);
}
.bs-card h3{ font-size:18px; margin:0 0 10px; font-weight:700; }
.bs-card p{ font-size:15px; margin:0 0 16px; color:var(--bs-muted); }
.bs-card-link{
    font-family:"Montserrat",sans-serif;
    font-size:12.5px;
    font-weight:700;
    letter-spacing:.07em;
    text-transform:uppercase;
    color:var(--bs-primary);
    display:inline-flex;
    align-items:center;
    gap:8px;
}
.bs-card-link i{ transition:transform .3s var(--bs-ease); }
.bs-card:hover .bs-card-link i{ transform:translateX(5px); }

/* ---------- Product card (image on top) ------------------------------- */
.bs-product{
    background:#fff;
    border:1px solid var(--bs-line);
    border-radius:var(--bs-radius);
    overflow:hidden;
    height:100%;
    display:flex;
    flex-direction:column;
    transition:transform .4s var(--bs-ease), box-shadow .4s var(--bs-ease), border-color .4s var(--bs-ease);
}
.bs-product:hover{ transform:translateY(-8px); box-shadow:var(--bs-shadow-lg); border-color:transparent; }
.bs-product-media{
    position:relative;
    overflow:hidden;
    background:var(--bs-primary-deep);
    height:190px;
}
.bs-product-media img{
    width:100%; height:100%;
    object-fit:cover;
    display:block;
    transition:transform .7s var(--bs-ease);
}
.bs-product:hover .bs-product-media img{ transform:scale(1.07); }
.bs-product-body{
    padding:22px 24px 26px;
    display:flex;
    flex-direction:column;
    flex:1;
}
.bs-product-body h3{ font-size:17.5px; margin:0 0 10px; font-weight:700; }
.bs-product-body p{ font-size:15px; margin:0 0 16px; color:var(--bs-muted); flex:1; }

/* ---------- Accordion ---------------------------------------------------- */
.bs-accordion{ border-top:1px solid var(--bs-line); }
.bs-acc-item{ border-bottom:1px solid var(--bs-line); }
.bs-acc-head{ margin:0; }
.bs-acc-btn{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    background:none;
    border:0;
    padding:22px 4px;
    font-family:"Montserrat",sans-serif;
    font-size:17px;
    font-weight:700;
    color:var(--bs-primary-deep);
    text-align:left;
    cursor:pointer;
    transition:color .25s var(--bs-ease);
}
.bs-acc-btn:hover{ color:var(--bs-primary); }
.bs-acc-btn i{
    flex:0 0 auto;
    width:34px; height:34px;
    border-radius:50%;
    background:rgba(0,118,177,.09);
    color:var(--bs-primary);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:13px;
    transition:transform .35s var(--bs-ease), background-color .3s var(--bs-ease), color .3s var(--bs-ease);
}
.bs-acc-btn[aria-expanded="true"]{ color:var(--bs-primary); }
.bs-acc-btn[aria-expanded="true"] i{ transform:rotate(180deg); background:var(--bs-primary); color:#fff; }
.bs-acc-body{
    max-height:0;
    overflow:hidden;
    transition:max-height .45s var(--bs-ease), padding .35s var(--bs-ease);
    padding:0 4px;
}
.bs-acc-body.open{ padding:0 4px 24px; }
.bs-acc-body p{ font-size:15.5px; color:#4a5159; margin:0 0 16px; max-width:900px; }
.bs-acc-body .bs-checks li{ font-size:15px; }

    /* Product tile */
.bs-tile{
    position:relative;
    display:block;
    border-radius:var(--bs-radius);
    overflow:hidden;
    background:#0b2f44;
    min-height:210px;
    box-shadow:var(--bs-shadow-sm);
    transition:transform .45s var(--bs-ease), box-shadow .45s var(--bs-ease);
}
.bs-tile:hover{ transform:translateY(-8px); box-shadow:var(--bs-shadow-lg); }
.bs-tile img{
    position:absolute;
    inset:0;
    width:100%; height:100%;
    object-fit:cover;
    opacity:.62;
    transition:transform .7s var(--bs-ease), opacity .5s var(--bs-ease);
}
.bs-tile:hover img{ transform:scale(1.08); opacity:.48; }
.bs-tile-body{
    position:relative;
    z-index:2;
    padding:26px 24px;
    min-height:210px;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    color:#fff;
    background:linear-gradient(180deg,rgba(4,54,79,0) 20%,rgba(4,54,79,.88) 78%);
}
.bs-tile-body h3{
    color:#fff;
    font-size:16.5px;
    margin:0 0 6px;
    font-weight:700;
}
.bs-tile-body span{ font-size:13.5px; color:rgba(255,255,255,.82); }
.bs-tile-arrow{
    position:absolute;
    top:18px; right:18px;
    width:38px; height:38px;
    border-radius:50%;
    background:rgba(255,255,255,.16);
    border:1px solid rgba(255,255,255,.28);
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    transition:background-color .35s var(--bs-ease), transform .35s var(--bs-ease);
}
.bs-tile:hover .bs-tile-arrow{ background:var(--bs-accent); color:var(--bs-primary-deep); transform:rotate(-45deg); }

/* ---------- Feature list ------------------------------------------------ */
.bs-checks{ list-style:none; padding:0; margin:0; }
.bs-checks li{
    position:relative;
    padding:9px 0 9px 34px;
    font-size:15.5px;
    color:#3f4650;
}
.bs-checks li::before{
    content:"\f00c";
    font-family:"FontAwesome";
    position:absolute;
    left:0; top:9px;
    width:22px; height:22px;
    line-height:22px;
    text-align:center;
    border-radius:50%;
    background:rgba(0,118,177,.1);
    color:var(--bs-primary);
    font-size:11px;
}
.bs-checks.light li{ color:rgba(255,255,255,.9); }
.bs-checks.light li::before{ background:rgba(231,193,48,.18); color:var(--bs-accent); }

/* ---------- Stats ------------------------------------------------------- */
.bs-stats{
    background:linear-gradient(120deg,var(--bs-primary-deep),var(--bs-primary));
    color:#fff;
    padding:64px 0;
    position:relative;
    overflow:hidden;
}
.bs-stats::after{
    content:"";
    position:absolute;
    top:-60%; right:-10%;
    width:520px; height:520px;
    border-radius:50%;
    background:rgba(231,193,48,.1);
    filter:blur(50px);
}
.bs-stat{ text-align:center; position:relative; z-index:2; }
.bs-stat-num{
    font-family:"Montserrat",sans-serif;
    font-size:clamp(32px,4.2vw,48px);
    font-weight:800;
    color:var(--bs-accent);
    line-height:1.1;
    display:block;
}
.bs-stat-label{
    font-size:14px;
    letter-spacing:.06em;
    text-transform:uppercase;
    color:rgba(255,255,255,.82);
    margin-top:6px;
    display:block;
}

/* ---------- Feature (split) blocks --------------------------------------- */
.bs-feature{
    display:flex;
    gap:52px;
    align-items:center;
    margin-bottom:70px;
}
.bs-feature.reverse{ flex-direction:row-reverse; }
.bs-feature-text h3{ font-size:26px; margin:0 0 16px; font-weight:700; }
.bs-feature-text p{ font-size:15.5px; }
.bs-feature-media{
    flex:0 0 46%;
    border-radius:var(--bs-radius);
    overflow:hidden;
    box-shadow:var(--bs-shadow);
    position:relative;
}
.bs-feature-media img{ display:block; width:100%; transition:transform .7s var(--bs-ease); }
.bs-feature-media:hover img{ transform:scale(1.05); }
.bs-feature-text{ flex:1 1 auto; }

/* ---------- Steps / process --------------------------------------------- */
.bs-steps{ counter-reset:bsstep; }
.bs-step{ position:relative; padding-left:76px; margin-bottom:34px; }
.bs-step::before{
    counter-increment:bsstep;
    content:counter(bsstep,decimal-leading-zero);
    position:absolute;
    left:0; top:0;
    width:52px; height:52px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-family:"Montserrat",sans-serif;
    font-weight:800;
    font-size:16px;
    color:#fff;
    background:linear-gradient(135deg,var(--bs-primary),var(--bs-primary-dark));
    box-shadow:0 8px 18px rgba(0,118,177,.3);
}
.bs-step h4{ font-size:18px; margin:0 0 8px; font-weight:700; }
.bs-step p{ margin:0; font-size:15px; color:var(--bs-muted); }

/* ---------- Testimonials ------------------------------------------------ */
.bs-quote{
    background:#fff;
    border-radius:var(--bs-radius);
    padding:32px 30px;
    border:1px solid var(--bs-line);
    box-shadow:var(--bs-shadow-sm);
    height:100%;
    position:relative;
    transition:transform .4s var(--bs-ease), box-shadow .4s var(--bs-ease);
}
.bs-quote:hover{ transform:translateY(-6px); box-shadow:var(--bs-shadow); }
.bs-quote::before{
    content:"\201C";
    position:absolute;
    top:6px; left:22px;
    font-size:72px;
    line-height:1;
    color:var(--bs-accent);
    opacity:.35;
    font-family:"Montserrat",serif;
}
.bs-quote p{ font-style:italic; color:#4b5563; margin:22px 0 20px; }
.bs-quote-user{ display:flex; align-items:center; gap:13px; }
.bs-quote-avatar{
    width:46px; height:46px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,var(--bs-primary),var(--bs-primary-dark));
    color:#fff;
    font-weight:700;
    font-family:"Montserrat",sans-serif;
    font-size:17px;
    flex:0 0 46px;
}
.bs-quote-user strong{ display:block; font-size:15px; color:var(--bs-primary-deep); }
.bs-quote-user span{ font-size:13px; color:var(--bs-muted); }

/* ---------- CTA band ---------------------------------------------------- */
.bs-cta{
    position:relative;
    background:linear-gradient(120deg,var(--bs-primary) 0%,var(--bs-primary-deep) 100%);
    color:#fff;
    padding:64px 0;
    overflow:hidden;
}
.bs-cta::before{
    content:"";
    position:absolute;
    inset:0;
    background:radial-gradient(circle at 85% 20%,rgba(231,193,48,.22),transparent 55%);
}
.bs-cta-inner{ position:relative; z-index:2; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:26px; }
.bs-cta h2{ color:#fff; font-size:clamp(23px,3.2vw,34px); margin:0 0 8px; font-weight:700; }
.bs-cta p{ color:rgba(255,255,255,.88); margin:0; font-size:16px; }
.bs-cta-actions{ display:flex; flex-wrap:wrap; gap:14px; }

/* ---------- Page hero (inner pages) -------------------------------------- */
.bs-pagehero{
    position:relative;
    background:var(--bs-primary-deep);
    color:#fff;
    padding:76px 0;
    overflow:hidden;
}
.bs-pagehero::after{
    content:"";
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at 88% 12%,rgba(231,193,48,.16),transparent 48%),
        linear-gradient(120deg,rgba(0,118,177,.35),transparent 60%);
}
.bs-pagehero .container{ position:relative; z-index:2; }
.bs-pagehero h1{
    color:#fff;
    font-size:clamp(26px,3.8vw,44px);
    margin:10px 0 14px;
    font-weight:800;
    line-height:1.18;
}
.bs-pagehero p{ color:rgba(255,255,255,.85); font-size:17px; max-width:760px; margin:0; }

/* Breadcrumb */
.bs-breadcrumb{
    font-size:13px;
    color:rgba(255,255,255,.7);
    margin:0 0 6px;
    padding:0;
    list-style:none;
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    align-items:center;
}
.bs-breadcrumb li{ list-style:none; display:flex; align-items:center; gap:8px; }
.bs-breadcrumb li+li::before{ content:"/"; color:rgba(255,255,255,.4); }
.bs-breadcrumb a{ color:rgba(255,255,255,.85); }
.bs-breadcrumb a:hover{ color:var(--bs-accent); }
.bs-breadcrumb .current{ color:var(--bs-accent); }

/* ---------- Content typography ------------------------------------------- */
.bs-content{ font-size:16px; }
.bs-content h2{ font-size:clamp(22px,2.6vw,30px); margin:44px 0 16px; font-weight:700; }
.bs-content h3{ font-size:20px; margin:30px 0 12px; font-weight:700; }
.bs-content h4{ font-size:17px; margin:24px 0 10px; font-weight:700; }
.bs-content p{ margin-bottom:18px; }
.bs-content ul{ margin:0 0 20px; padding-left:0; list-style:none; }
.bs-content ul li{
    position:relative;
    padding-left:26px;
    margin-bottom:9px;
    font-size:15.5px;
}
.bs-content ul li::before{
    content:"\f111";
    font-family:"FontAwesome";
    position:absolute;
    left:0; top:1px;
    color:var(--bs-primary);
    font-size:11px;
}
.bs-content img{ border-radius:var(--bs-radius); box-shadow:var(--bs-shadow-sm); }
.bs-content hr{ border:0; border-top:1px solid var(--bs-line); margin:32px 0; }
.bs-content table{ width:100%; border-collapse:collapse; margin-bottom:24px; font-size:15px; }
.bs-content table th,
.bs-content table td{ border:1px solid var(--bs-line); padding:11px 14px; text-align:left; }
.bs-content table th{ background:var(--bs-bg-soft); color:var(--bs-primary-deep); font-weight:700; }
.bs-content strong{ color:var(--bs-primary-deep); }
.bs-content .lead{ font-size:18px; color:#3f4650; }

/* Highlight callout */
.bs-callout{
    background:var(--bs-bg-soft);
    border-left:4px solid var(--bs-accent);
    border-radius:0 var(--bs-radius-sm) var(--bs-radius-sm) 0;
    padding:22px 26px;
    margin:26px 0;
}
.bs-callout p:last-child{ margin-bottom:0; }
.bs-callout strong{ color:var(--bs-primary-deep); }

/* ---------- Forms ------------------------------------------------------- */
.bs-form .form-control{
    border:1px solid #d6dde5;
    border-radius:10px;
    padding:13px 16px;
    font-family:"Hind",sans-serif;
    font-size:15px;
    background:#fff;
    transition:border-color .25s var(--bs-ease), box-shadow .25s var(--bs-ease);
}
.bs-form .form-control:focus{
    border-color:var(--bs-primary);
    box-shadow:0 0 0 3px rgba(0,118,177,.13);
    outline:none;
}
.bs-form .form-control.bs-invalid{
    border-color:#c0392b;
    box-shadow:0 0 0 3px rgba(192,57,43,.1);
}
.bs-form label{
    font-family:"Montserrat",sans-serif;
    font-size:12.5px;
    font-weight:600;
    letter-spacing:.04em;
    text-transform:uppercase;
    color:var(--bs-primary-deep);
    margin-bottom:7px;
    display:block;
}
.btn-blue{
    background:var(--bs-primary);
    border:none;
    color:#fff;
    border-radius:100px;
    padding:14px 34px;
    font-family:"Montserrat",sans-serif;
    font-size:13px;
    font-weight:700;
    letter-spacing:.06em;
    text-transform:uppercase;
    transition:transform .3s var(--bs-ease), background-color .3s var(--bs-ease), box-shadow .3s var(--bs-ease);
}
.btn-blue:hover{
    background:var(--bs-primary-dark);
    color:#fff;
    transform:translateY(-3px);
    box-shadow:0 12px 26px rgba(0,118,177,.3);
}
.bs-alert{
    border-radius:10px;
    padding:15px 18px;
    margin-bottom:22px;
    font-size:15px;
    border:1px solid transparent;
}
.bs-alert-ok{ background:#eaf7ee; border-color:#bfe5c9; color:#1c6b34; }
.bs-alert-err{ background:#fdecec; border-color:#f5c2c2; color:#9a2626; }
.bs-alert i{ margin-right:8px; }
.bs-alert a{ font-weight:600; }

.bs-field{ margin-bottom:18px; }
.bs-field label .req{ color:#c0392b; }
.bs-form .row{ margin-left:-8px; margin-right:-8px; }
.bs-form .row > [class^="col-"]{ padding-left:8px; padding-right:8px; }
.bs-form-note{
    font-size:13px;
    color:var(--bs-muted);
    margin:14px 0 0;
}
.bs-form-note i{ margin-right:6px; color:var(--bs-primary); }
.bs-hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.muted{ color:var(--bs-muted); }
.bs-infocard h3{ font-size:19px; margin:0 0 8px; }
.bs-infocard h4{ font-size:17px; margin:0 0 8px; }
.bs-infocard p{ margin-bottom:6px; }

/* ---------- Map ---------------------------------------------------------- */
.bs-map{
    border-radius:var(--bs-radius);
    overflow:hidden;
    box-shadow:var(--bs-shadow);
    line-height:0;
    background:#e9eef3;
}
.bs-map iframe{ display:block; width:100%; }

/* ---------- Contact info cards ------------------------------------------- */
.bs-infocard{
    background:#fff;
    border:1px solid var(--bs-line);
    border-radius:var(--bs-radius);
    padding:26px 24px;
    height:100%;
    transition:transform .4s var(--bs-ease), box-shadow .4s var(--bs-ease);
}
.bs-infocard:hover{ transform:translateY(-6px); box-shadow:var(--bs-shadow); }
.bs-infocard-icon{
    width:48px; height:48px;
    border-radius:14px;
    background:rgba(0,118,177,.09);
    color:var(--bs-primary);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:19px;
    margin-bottom:15px;
}
.bs-infocard h4{ font-size:15.5px; margin:0 0 6px; font-weight:700; }
.bs-infocard p, .bs-infocard a{ font-size:14.5px; margin:0; color:var(--bs-muted); }
.bs-infocard a:hover{ color:var(--bs-primary); }

/* ---------- Gallery ----------------------------------------------------- */
.bs-gallery-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(270px,1fr));
    gap:20px;
}
.bs-gallery-item{
    position:relative;
    border-radius:var(--bs-radius);
    overflow:hidden;
    aspect-ratio:4/3;
    background:#0b2f44;
    box-shadow:var(--bs-shadow-sm);
    transition:transform .45s var(--bs-ease), box-shadow .45s var(--bs-ease);
}
.bs-gallery-item:hover{ transform:translateY(-6px); box-shadow:var(--bs-shadow-lg); }
.bs-gallery-item img{
    width:100%; height:100%;
    object-fit:cover;
    transition:transform .7s var(--bs-ease);
}
.bs-gallery-item:hover img{ transform:scale(1.09); }
.bs-gallery-item figcaption{
    position:absolute;
    left:0; right:0; bottom:0;
    padding:38px 20px 18px;
    background:linear-gradient(180deg,rgba(4,54,79,0),rgba(4,54,79,.9));
    color:#fff;
    font-size:14px;
    font-weight:600;
    transform:translateY(12px);
    opacity:0;
    transition:transform .4s var(--bs-ease), opacity .4s var(--bs-ease);
}
.bs-gallery-item:hover figcaption{ transform:translateY(0); opacity:1; }

/* ---------- Footer ------------------------------------------------------ */
#footer{
    background:var(--bs-primary-deep);
    color:rgba(255,255,255,.76);
    position:relative;
    overflow:hidden;
}
#footer::before{
    content:"";
    position:absolute;
    top:-40%; left:-10%;
    width:520px; height:520px;
    border-radius:50%;
    background:rgba(0,118,177,.22);
    filter:blur(70px);
}
#footer .footer_center{ position:relative; z-index:2; padding:58px 0 20px; }
#footer .widget-title{
    color:#fff;
    font-size:14.5px;
    font-weight:700;
    letter-spacing:.1em;
    text-transform:uppercase;
    margin:0 0 22px;
    position:relative;
    padding-bottom:12px;
}
#footer .widget-title::after{
    content:"";
    position:absolute;
    left:0; bottom:0;
    width:34px; height:3px;
    border-radius:3px;
    background:var(--bs-accent);
}
#footer .footertext{ font-size:14.5px; line-height:2.1; color:rgba(255,255,255,.76); }
#footer .footertext a{ color:rgba(255,255,255,.82); }
#footer .footertext a:hover{ color:var(--bs-accent); }
#footer .footertext img.iconsize{ width:16px; height:16px; margin-right:7px; object-fit:contain; opacity:.9; }
#footer .widget ul{ list-style:none; padding:0; margin:0; }
#footer .widget ul li{ margin-bottom:10px; }
#footer .widget ul li a{
    color:rgba(255,255,255,.76);
    font-size:14.5px;
    display:inline-flex;
    align-items:center;
    gap:9px;
    transition:color .25s var(--bs-ease), transform .25s var(--bs-ease);
}
#footer .widget ul li a::before{
    content:"\f105";
    font-family:"FontAwesome";
    color:var(--bs-accent);
    font-size:11px;
    transition:transform .25s var(--bs-ease);
}
#footer .widget ul li a:hover{ color:#fff; }
#footer .widget ul li a:hover::before{ transform:translateX(4px); }
#footer .social{ display:flex; gap:12px; flex-wrap:wrap; }
#footer .social a{
    width:40px; height:40px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.2);
    display:flex;
    align-items:center;
    justify-content:center;
    transition:background-color .3s var(--bs-ease), border-color .3s var(--bs-ease), transform .3s var(--bs-ease);
}
#footer .social a img{ width:17px; height:17px; opacity:.85; transition:opacity .3s var(--bs-ease); }
#footer .social a:hover{ background:var(--bs-accent); border-color:var(--bs-accent); transform:translateY(-4px); }
#footer .social a:hover img{ opacity:1; }
#footer .footer_bottom{
    background:rgba(0,0,0,.26);
    padding:18px 0;
    margin-top:36px;
    position:relative;
    z-index:2;
}
#footer .footer_bottom p{ margin:0; font-size:13.5px; color:rgba(255,255,255,.62); }
#footer .footer_bottom a{ color:var(--bs-accent); }
#footer .footer_bottom a:hover{ color:#fff; }

/* Back to top */
.bs-totop{
    position:fixed;
    right:26px; bottom:26px;
    width:46px; height:46px;
    border-radius:50%;
    background:var(--bs-primary);
    color:#fff;
    border:none;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:16px;
    box-shadow:0 10px 26px rgba(0,118,177,.35);
    opacity:0;
    visibility:hidden;
    transform:translateY(16px);
    transition:opacity .35s var(--bs-ease), transform .35s var(--bs-ease), visibility .35s, background-color .25s var(--bs-ease);
    z-index:950;
    cursor:pointer;
}
.bs-totop.show{ opacity:1; visibility:visible; transform:translateY(0); }
.bs-totop:hover{ background:var(--bs-primary-dark); }

/* ---------- Scroll reveal ------------------------------------------------ */
.bs-reveal{
    opacity:0;
    transform:translateY(26px);
    transition:opacity .8s var(--bs-ease), transform .8s var(--bs-ease);
    will-change:opacity, transform;
}
.bs-reveal.in{ opacity:1; transform:none; }
.bs-reveal.d1{ transition-delay:.08s; }
.bs-reveal.d2{ transition-delay:.16s; }
.bs-reveal.d3{ transition-delay:.24s; }
.bs-reveal.d4{ transition-delay:.32s; }
.bs-reveal.d5{ transition-delay:.4s; }
@media (prefers-reduced-motion: reduce){
    .bs-reveal{ opacity:1!important; transform:none!important; transition:none!important; }
    html{ scroll-behavior:auto; }
    .bs-hero-bg{ animation:none; }
}

/* ---------- Legacy template neutralisation ------------------------------- */
.section-check-availability{ padding:26px 0; }
.check-availability{
    margin-top:0!important;
    padding:0!important;
    border-radius:var(--bs-radius);
    background:linear-gradient(120deg,var(--bs-primary) 0%,var(--bs-primary-deep) 100%);
    box-shadow:var(--bs-shadow);
    overflow:hidden;
}
.check-availability::before{ display:none; }
.check-availability h2{
    padding-left:0!important;
    font-size:15px!important;
    font-weight:700!important;
    letter-spacing:.08em;
    text-transform:uppercase;
    margin:0;
}
.check-availability h2::before{ display:none; }
.check-availability .col-lg-2{ padding-top:6px; }
.section-our-best{ padding:66px 0; }
.our-best .img img{ border-radius:var(--bs-radius); box-shadow:var(--bs-shadow); }
.accomd-modations-room{ border-radius:var(--bs-radius); overflow:hidden; box-shadow:var(--bs-shadow-sm); transition:transform .4s var(--bs-ease), box-shadow .4s var(--bs-ease); }
.accomd-modations-room:hover{ transform:translateY(-7px); box-shadow:var(--bs-shadow-lg); }
.accomd-modations-room .text{
    background:linear-gradient(120deg,var(--bs-primary),var(--bs-primary-dark))!important;
    padding:12px 18px!important;
    left:0!important; right:0; bottom:0; top:auto!important;
    border-radius:0!important;
}
.accomd-modations-room .text .price{ margin:0!important; }
.accomd-modations-room .text .price .amout{ font-size:14.5px; font-weight:600; line-height:1.45; display:block; }
.accomd-modations-room .img::after{ display:none; }
.outer{ overflow:hidden; }
.carousel-inner.bann{ height:auto; }
.carousel-inner.bann img{ width:100%; }
.corheight{ width:100%; height:auto; object-fit:cover; }

/* Legacy carousel overlay + captions */
#myCarousel{ position:relative; }
#myCarousel .carousel-control{ opacity:1; }
#myCarousel .carousel-control:hover{ opacity:.85; }

/* ---------- Responsive --------------------------------------------------- */
@media (max-width:1199px){
    .bs-feature{ gap:36px; }
    .header_menu .menu > li > a{ font-size:12px; padding:0 9px; }
    .header_menu .menu > li.menu-cta > a{ padding:9px 18px !important; }
}
@media (max-width:991px){
    :root{ --bs-header-h:74px; }
    html{ scroll-padding-top:92px; }
    .header_top .header_left span{ margin-right:14px; font-size:12.5px; }
    #header .header_content .container{ flex-wrap:wrap; }
    #header .header_menu{ margin-left:auto; }
    #header .menu-bars{ display:block; }
    #header .header_menu .menu{
        position:absolute;
        top:100%; left:0; right:0;
        background:#fff;
        flex-direction:column;
        align-items:stretch;
        max-height:0;
        overflow:hidden;
        transition:max-height .45s var(--bs-ease);
        box-shadow:0 20px 40px rgba(7,42,64,.14);
        z-index:1060;
        white-space:normal;
    }
    #header .header_menu.open .menu{ max-height:82vh; overflow-y:auto; }
    #header .header_menu .menu > li{ width:100%; border-bottom:1px solid var(--bs-line); }
    #header .header_menu .menu > li > a{
        display:flex;
        align-items:center;
        justify-content:space-between;
        padding:13px 20px !important;
        line-height:1.5;
        white-space:normal;
    }
    #header .header_menu .menu > li > a::after{ display:none; }
    #header .header_menu .menu > li.menu-cta > a{
        margin:14px 18px 20px;
        justify-content:center;
        border-radius:100px;
    }
    .menu-has-mega > .bs-mega{
        position:static;
        width:100%;
        transform:none;
        opacity:1;
        visibility:visible;
        pointer-events:auto;
        box-shadow:none;
        border:none;
        border-radius:0;
        display:none;
        background:#f7fafc;
    }
    .menu-has-mega.menu-open > .bs-mega{ display:block; }
    .bs-mega-grid{ grid-template-columns:1fr; }
    .bs-mega-col{
        padding:6px 22px 18px;
        border-right:none;
        border-bottom:1px solid var(--bs-line);
    }
    .bs-mega-col:last-child{ border-bottom:none; }
    .bs-mega-col h4{ margin:14px 0 4px; font-size:11px; }
    .bs-mega-col li a{ padding:7px 0; font-size:14px; }
    .bs-mega-cta{ display:none; }
    .header_menu .menu > li > .sub-menu{
        position:static;
        opacity:1;
        visibility:visible;
        transform:none;
        box-shadow:none;
        border-top:0;
        padding:0;
        max-height:0;
        overflow:hidden;
        transition:max-height .4s var(--bs-ease);
    }
    .header_menu .menu > li.open > .sub-menu{ max-height:520px; }
    .header_menu .menu > li > .sub-menu li a{ padding:10px 30px; font-size:14px; }
    .bs-hero-inner{ padding:78px 0 68px; }
    .bs-section-pad{ padding:64px 0; }
    .section-pad{ padding:64px 0; }
    .bs-feature,
    .bs-feature.reverse{ flex-direction:column; gap:26px; margin-bottom:50px; }
    .bs-feature-media{ flex:1 1 auto; width:100%; }
    .bs-pagehero{ padding:56px 0; }
    .bs-cta-inner{ flex-direction:column; align-items:flex-start; }
}
@media (max-width:767px){
    body{ font-size:14px; }
    .bs-hero-points{ grid-template-columns:1fr; }
    .bs-hero-actions .bs-btn{ width:100%; }
    .section-pad{ padding:52px 0; }
    .bs-head{ margin-bottom:36px; }
    .bs-head h2{ font-size:25px; }
    .bs-card{ padding:26px 22px; }
    .bs-stats{ padding:48px 0; }
    .bs-totop{ right:16px; bottom:16px; }
    .bs-cta-actions .bs-btn{ width:100%; }
    .bs-step{ padding-left:62px; }
    .bs-step::before{ width:44px; height:44px; font-size:14px; }
}
@media (max-width:479px){
    .header_top{ font-size:12px; }
    .header_top .header_left span{ margin-right:10px; }
}

/* ---------- Print -------------------------------------------------------- */
@media print{
    #header, #footer, .bs-totop, .check-availability, .bs-cta{ display:none!important; }
    body{ background:#fff; color:#000; }
    .bs-hero{ background:none; }
    .bs-hero h1{ color:#000; }
}

/* ---------- Icon system ------------------------------------------------ */
/* Legacy raster icons replaced by Font Awesome 4.7 glyphs.               */
.bs-ico{
    font-style:normal;
    color:#e7c130;
    margin-right:8px;
    font-size:15px;
    width:18px;
    text-align:center;
}
.header_top .header_left span{ vertical-align:middle; }
.header_top .bs-ico{ color:#e7c130; }
.bs-social a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:30px;
    height:30px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.35);
    color:#fff;
    margin-left:6px;
    transition:background .25s ease, color .25s ease, border-color .25s ease, transform .25s ease;
}
.bs-social a:hover{
    background:#e7c130;
    border-color:#e7c130;
    color:#04364f;
    transform:translateY(-2px);
}
.bs-social a i{ font-size:14px; line-height:1; }
.bs-social a:focus-visible{ outline:2px solid #e7c130; outline-offset:2px; }
.header_top .bs-social a{ width:26px; height:26px; margin-left:4px; border-color:rgba(255,255,255,.25); }
.header_top .bs-social a i{ font-size:12px; }
.bs-wa{ margin-left:12px; }
.bs-wa .bs-ico{ color:#25d366; }
.footertext .bs-ico{ margin-right:10px; }
@media (max-width:767px){
    .bs-social a{ width:28px; height:28px; }
}

/* ---------- Brand logo sizing -------------------------------------------- */
/* The header/footer lockup is a 2.94:1 transparent PNG, so let it scale from
   its height instead of overflowing or blurring. */
.header_logo img{ max-height:74px; height:auto; }
#footer .widget_logo .widget-logo .img{ max-width:190px; }
#footer .widget_logo .widget-logo .img img{ width:100%; height:auto; display:block; }
@media (max-width:991px){
    .header_logo img{ max-height:60px; }
}
@media (max-width:575px){
    .header_logo img{ max-height:48px; }
    #footer .widget_logo .widget-logo .img{ max-width:160px; }
}