:root{
  --gwns-blue:#004b8d;
  --gwns-blue-dark:#003665;
  --gwns-blue-deep:#002d55;
  --gwns-orange:#f2a900;
  --gwns-orange-light:#ffbd24;
  --white:#ffffff;
  --dark:#14202b;
  --muted:#667085;
  --light:#f5f8fc;
  --border:#e5eaf0;
  --shadow:0 15px 45px rgba(0,54,101,.10);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:85px}
body{
  margin:0;
  font-family:"Inter",sans-serif;
  color:var(--dark);
  background:#fff;
  overflow-x:hidden;
}
a{text-decoration:none}
img{max-width:100%;height:auto}

.topbar{
  background:var(--gwns-blue-deep);
  color:#fff;
  border-bottom:3px solid var(--gwns-orange);
  font-size:.82rem;
  padding:12px 0;
  margin-top:10px;
}
.topbar-left,.topbar-right{display:flex;align-items:center;gap:20px}
.topbar-right{justify-content:flex-end;flex-wrap:wrap}
.topbar a{color:#fff}
.topbar i{color:var(--gwns-orange);margin-right:5px}

.main-header{background:#fff}
.brand-logo{display:inline-block}
.brand-logo img{width:420px;max-width:100%;display:block}
.header-contact{display:flex;justify-content:flex-end;align-items:center;gap:25px}
.contact-item{display:flex;align-items:center;gap:10px}
.contact-item .contact-icon{
  width:42px;height:42px;border-radius:50%;
  display:grid;place-items:center;
  background:var(--gwns-blue);
  color:#fff;
}
.contact-item small{display:block;color:#7b8794;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}
.contact-item a{display:block;color:var(--dark);font-weight:600;font-size:.9rem}

.main-navbar{
  background:var(--gwns-blue);
  box-shadow:0 5px 20px rgba(0,0,0,.12);
}
.main-navbar .navbar-nav{gap:4px}
.main-navbar .nav-link{
  color:#fff!important;
  font-size:.9rem;
  font-weight:600;
  padding:.85rem 1rem!important;
  border-radius:5px;
  transition:.25s ease;
}
.main-navbar .nav-link:hover,.main-navbar .nav-link.active{
  background:var(--gwns-orange);
  color:#111!important;
}
.dropdown-menu{
  border:0;
  border-top:3px solid var(--gwns-orange);
  border-radius:0 0 10px 10px;
  box-shadow:var(--shadow);
  padding:8px;
}
.dropdown-item{font-weight:500;padding:.65rem .85rem;border-radius:5px}
.dropdown-item:hover{background:#edf5fd;color:var(--gwns-blue)}

/*.hero-section{*/
/*  position:relative;*/
/*  min-height:760px;*/
/*  display:flex;*/
/*  align-items:center;*/
/*  background:*/
/*    radial-gradient(circle at 80% 20%,rgba(242,169,0,.20),transparent 28%),*/
/*    linear-gradient(135deg,#001f3d 0%,#004b8d 55%,#0069aa 100%);*/
/*  color:#fff;*/
/*  overflow:hidden;*/
/*}*/
/*.hero-section:after{*/
/*  content:"";*/
/*  position:absolute;*/
/*  width:500px;height:500px;*/
/*  border:80px solid rgba(255,255,255,.05);*/
/*  border-radius:50%;*/
/*  right:-200px;bottom:-220px;*/
/*}*/
/*.hero-overlay{*/
/*  position:absolute;inset:0;*/
/*  background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);*/
/*  background-size:45px 45px;*/
/*}*/
/*.min-vh-75{min-height:760px}*/
/*.hero-badge{*/
/*  display:inline-flex;align-items:center;gap:8px;*/
/*  padding:8px 14px;border:1px solid rgba(255,255,255,.25);*/
/*  background:rgba(255,255,255,.08);border-radius:50px;*/
/*  font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;*/
/*}*/
/*.hero-section h1{*/
/*  font-family:"Playfair Display",serif;*/
/*  font-size:clamp(3rem,6vw,5.8rem);*/
/*  line-height:1.03;margin:20px 0;*/
/*}*/
/*.hero-section h1 span{color:var(--gwns-orange-light)}*/
/*.hero-text{*/
/*  max-width:700px;*/
/*  font-size:1.08rem;line-height:1.8;*/
/*  color:rgba(255,255,255,.82);*/
/*}*/
/*.hero-buttons{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0}*/
/*.btn-primary-custom{*/
/*  background:var(--gwns-orange);*/
/*  color:#101010;*/
/*  border:2px solid var(--gwns-orange);*/
/*  font-weight:800;*/
/*  padding:12px 23px;*/
/*  border-radius:7px;*/
/*  transition:.25s ease;*/
/*}*/
/*.btn-primary-custom:hover{*/
/*  background:var(--gwns-orange-light);*/
/*  border-color:var(--gwns-orange-light);*/
/*  color:#111;*/
/*  transform:translateY(-2px);*/
/*}*/
/*.btn-outline-light-custom{*/
/*  color:#fff;border:2px solid rgba(255,255,255,.55);*/
/*  padding:12px 23px;border-radius:7px;font-weight:700;*/
/*}*/
/*.btn-outline-light-custom:hover{background:#fff;color:var(--gwns-blue)}*/

/*.hero-stats{max-width:620px}*/
/*.stat-box{border-left:2px solid var(--gwns-orange);padding-left:14px}*/
/*.stat-box strong{font-size:1.55rem;display:block}*/
/*.stat-box span{font-size:.76rem;color:rgba(255,255,255,.65)}*/

/*.hero-card-wrap{position:relative;height:500px;max-width:500px;margin:auto}*/
/*.hero-circle{*/
/*  position:absolute;left:50%;top:50%;*/
/*  transform:translate(-50%,-50%);*/
/*  width:290px;height:290px;border-radius:50%;*/
/*  display:flex;flex-direction:column;align-items:center;justify-content:center;*/
/*  background:linear-gradient(145deg,#fff,#dceaf8);*/
/*  color:var(--gwns-blue);*/
/*  border:18px solid rgba(242,169,0,.9);*/
/*  box-shadow:0 25px 80px rgba(0,0,0,.25);*/
/*}*/
/*.hero-circle i{font-size:75px}*/
/*.hero-circle small{font-weight:700;letter-spacing:.3em}*/
/*.hero-circle strong{font-size:1.5rem;letter-spacing:.12em}*/
/*.floating-card{*/
/*  position:absolute;background:#fff;color:var(--dark);*/
/*  padding:13px 17px;border-radius:10px;*/
/*  box-shadow:0 15px 35px rgba(0,0,0,.18);*/
/*  display:flex;align-items:center;gap:10px;font-weight:700;*/
/*  z-index:2;*/
/*}*/
/*.floating-card i{font-size:1.4rem;color:var(--gwns-blue)}*/
/*.card-one{top:55px;left:15px}.card-two{top:205px;right:0}.card-three{bottom:60px;left:35px}*/

/*Start Slider*/



/* =========================================================
   HERO CAROUSEL
========================================================= */

.hero-section {
    position: relative;
    width: 100%;
    overflow: hidden;

    background:
        radial-gradient(
            circle at 80% 20%,
            rgba(242,169,0,.20),
            transparent 28%
        ),
        linear-gradient(
            135deg,
            #001f3d 0%,
            #004b8d 55%,
            #0069aa 100%
        );

    color: #fff;
}


/* Each slide */

.hero-slide {
    position: relative;
    min-height: 760px;

    display: flex;
    align-items: center;

    overflow: hidden;

    background:
        radial-gradient(
            circle at 80% 20%,
            rgba(242,169,0,.18),
            transparent 30%
        ),
        linear-gradient(
            135deg,
            #001f3d 0%,
            #004b8d 55%,
            #0069aa 100%
        );
}


/* Grid background */

.hero-slide::after {
    content: "";

    position: absolute;

    width: 550px;
    height: 550px;

    right: -250px;
    bottom: -280px;

    border: 80px solid rgba(255,255,255,.045);

    border-radius: 50%;

    pointer-events: none;
}


/* Overlay */

.hero-overlay {
    position: absolute;

    inset: 0;

    background-image:
        linear-gradient(
            rgba(255,255,255,.025) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255,255,255,.025) 1px,
            transparent 1px
        );

    background-size: 45px 45px;

    pointer-events: none;
}


/* Main row */

.hero-row {
    min-height: 760px;

    padding-top: 80px;
    padding-bottom: 80px;
}


/* Badge */

.hero-badge {
    display: inline-flex;

    align-items: center;
    gap: 8px;

    padding: 9px 16px;

    border: 1px solid rgba(255,255,255,.25);

    background: rgba(255,255,255,.08);

    border-radius: 50px;

    font-size: .78rem;

    font-weight: 700;

    letter-spacing: .06em;

    text-transform: uppercase;
}


/* Heading */

.hero-section h1 {

    font-family: "Playfair Display", serif;

    font-size: clamp(
        3rem,
        6vw,
        5.8rem
    );

    line-height: 1.03;

    margin: 20px 0;

    color: #fff;
}

.hero-section h1 span {
    color: #ffbd24;
}


/* Description */

.hero-text {

    max-width: 700px;

    font-size: 1.08rem;

    line-height: 1.8;

    color: rgba(255,255,255,.82);

    margin-bottom: 0;
}


/* Buttons */

.hero-buttons {

    display: flex;

    flex-wrap: wrap;

    gap: 12px;

    margin: 30px 0;
}


/* Statistics */

.hero-stats {
    max-width: 650px;
}

.stat-box {

    border-left: 2px solid #f2a900;

    padding-left: 14px;

    min-height: 48px;
}

.stat-box strong {

    display: block;

    font-size: 1.55rem;

    line-height: 1.1;
}

.stat-box span {

    display: block;

    margin-top: 4px;

    font-size: .76rem;

    color: rgba(255,255,255,.65);
}


/* =========================================================
   RIGHT SIDE VISUAL
========================================================= */

.hero-card-wrap {

    position: relative;

    width: 100%;

    max-width: 500px;

    height: 500px;

    margin: auto;
}


/* Main circle */

.hero-circle {

    position: absolute;

    left: 50%;
    top: 50%;

    transform: translate(
        -50%,
        -50%
    );

    width: 290px;
    height: 290px;

    border-radius: 50%;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    text-align: center;

    background:
        linear-gradient(
            145deg,
            #ffffff,
            #dceaf8
        );

    color: #004b8d;

    border: 18px solid #f2a900;

    box-shadow:
        0 25px 80px rgba(0,0,0,.25);
}

.hero-circle i {

    font-size: 75px;

    margin-bottom: 5px;
}

.hero-circle small {

    font-weight: 700;

    letter-spacing: .3em;

    font-size: .7rem;
}

.hero-circle strong {

    font-size: 1.4rem;

    letter-spacing: .12em;

    max-width: 90%;

    line-height: 1.2;
}


/* Floating cards */

.floating-card {

    position: absolute;

    z-index: 5;

    display: flex;

    align-items: center;

    gap: 10px;

    padding: 13px 17px;

    background: #fff;

    color: #14202b;

    border-radius: 10px;

    box-shadow:
        0 15px 35px rgba(0,0,0,.18);

    font-weight: 700;

    white-space: nowrap;

    animation: floatingCard 4s ease-in-out infinite;
}

.floating-card i {

    font-size: 1.4rem;

    color: #004b8d;
}


/* Different cards */

.card-one {

    top: 55px;

    left: 15px;

    animation-delay: 0s;
}

.card-two {

    top: 205px;

    right: 0;

    animation-delay: 1s;
}

.card-three {

    bottom: 60px;

    left: 35px;

    animation-delay: 2s;
}


/* Floating animation */

@keyframes floatingCard {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-8px);
    }
}


/* =========================================================
   CAROUSEL CONTROLS
========================================================= */

.hero-control {

    width: 55px;

    opacity: 1;

    top: 50%;

    transform: translateY(-50%);

    z-index: 20;
}

.hero-control .carousel-control-prev-icon,
.hero-control .carousel-control-next-icon {

    width: 42px;
    height: 42px;

    background-color: rgba(242,169,0,.95);

    border-radius: 50%;

    background-size: 45%;
}


/* Indicators */

.hero-indicators {

    bottom: 25px;

    z-index: 25;

    margin-bottom: 0;
}

.hero-indicators button {

    width: 32px;

    height: 4px;

    border: 0;

    border-radius: 5px;

    margin: 0 4px;

    background-color: rgba(255,255,255,.45);
}

.hero-indicators button.active {

    background-color: #f2a900;

    width: 55px;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1199.98px) {

    .hero-slide {
        min-height: 680px;
    }

    .hero-row {
        min-height: 680px;

        padding-top: 65px;
        padding-bottom: 65px;
    }

    .hero-card-wrap {
        height: 430px;
    }

    .hero-circle {

        width: 250px;
        height: 250px;

        border-width: 15px;
    }

    .hero-circle i {
        font-size: 60px;
    }

    .floating-card {
        font-size: .78rem;
    }

    .card-one {
        left: 0;
    }

    .card-two {
        right: -5px;
    }

    .card-three {
        left: 5px;
    }
}


/* =========================================================
   TABLET / MOBILE
========================================================= */

@media (max-width: 991.98px) {

    .hero-slide {

        min-height: auto;

        padding: 70px 0 85px;
    }

    .hero-row {

        min-height: auto;

        padding-top: 0;
        padding-bottom: 0;
    }

    .hero-section h1 {

        font-size: clamp(
            2.7rem,
            8vw,
            4.5rem
        );
    }

    .hero-text {

        font-size: 1rem;

        max-width: 650px;
    }

    .hero-card-wrap {

        height: 380px;

        margin-top: 45px;
    }

    .hero-control {

        width: 45px;
    }

    .hero-control .carousel-control-prev-icon,
    .hero-control .carousel-control-next-icon {

        width: 36px;
        height: 36px;
    }

    .hero-indicators {

        bottom: 18px;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767.98px) {

    .hero-slide {

        padding: 55px 0 75px;
    }

    /*
       IMPORTANT:
       Keep the exact same visual hierarchy on mobile.
    */

    .hero-row {

        display: flex;

        flex-direction: column;
    }

    .hero-row > div:first-child {

        width: 100%;
    }

    .hero-row > div:last-child {

        width: 100%;
    }

    .hero-badge {

        font-size: .66rem;

        padding: 8px 12px;

        letter-spacing: .04em;
    }

    .hero-section h1 {

        font-size: clamp(
            2.4rem,
            11vw,
            3.6rem
        );

        margin: 18px 0;
    }

    .hero-text {

        font-size: .9rem;

        line-height: 1.7;
    }

    .hero-buttons {

        margin: 25px 0;

        width: 100%;
    }

    .hero-buttons .btn {

        flex: 1 1 auto;

        min-width: 145px;

        text-align: center;
    }

    .hero-stats {

        width: 100%;

        margin-top: 10px;
    }

    .stat-box {

        padding-left: 9px;
    }

    .stat-box strong {

        font-size: 1.2rem;
    }

    .stat-box span {

        font-size: .65rem;
    }

    /*
       RIGHT SIDE VISUAL
    */

    .hero-card-wrap {

        width: 100%;

        height: 315px;

        margin-top: 25px;
    }

    .hero-circle {

        width: 195px;
        height: 195px;

        border-width: 12px;
    }

    .hero-circle i {

        font-size: 45px;
    }

    .hero-circle small {

        font-size: .6rem;

        letter-spacing: .22em;
    }

    .hero-circle strong {

        font-size: 1.05rem;
    }

    .floating-card {

        padding: 9px 11px;

        font-size: .68rem;

        gap: 7px;
    }

    .floating-card i {

        font-size: 1rem;
    }

    .card-one {

        top: 5px;

        left: 0;
    }

    .card-two {

        top: 115px;

        right: 0;
    }

    .card-three {

        bottom: 5px;

        left: 5px;
    }

    .hero-control {

        display: none;
    }

    .hero-indicators {

        bottom: 12px;
    }

    .hero-indicators button {

        width: 22px;

        height: 3px;
    }

    .hero-indicators button.active {

        width: 38px;
    }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 575.98px) {

    .hero-slide {

        padding: 45px 0 65px;
    }

    .hero-section h1 {

        font-size: 2.35rem;

        line-height: 1.05;
    }

    .hero-text {

        font-size: .86rem;
    }

    .hero-buttons {

        flex-direction: column;

        gap: 9px;
    }

    .hero-buttons .btn {

        width: 100%;

        min-width: 0;
    }

    .hero-stats {

        margin-top: 5px;
    }

    .hero-card-wrap {

        height: 280px;
    }

    .hero-circle {

        width: 170px;

        height: 170px;

        border-width: 10px;
    }

    .hero-circle i {

        font-size: 38px;
    }

    .hero-circle strong {

        font-size: .95rem;
    }

    .floating-card {

        font-size: .62rem;

        padding: 8px 9px;
    }

    .floating-card i {

        font-size: .9rem;
    }

    .card-one {

        top: 0;

        left: 0;
    }

    .card-two {

        top: 105px;

        right: 0;
    }

    .card-three {

        bottom: 0;

        left: 0;
    }
}


/* =========================================================
   EXTRA SMALL DEVICES
========================================================= */

@media (max-width: 375px) {

    .hero-section h1 {

        font-size: 2.1rem;
    }

    .hero-badge {

        font-size: .58rem;
    }

    .hero-card-wrap {

        height: 260px;
    }

    .hero-circle {

        width: 155px;

        height: 155px;
    }

    .floating-card {

        font-size: .55rem;

        padding: 7px 8px;
    }

    .floating-card i {

        font-size: .8rem;
    }
}

























.section-padding{padding:90px 0}
.section-heading{max-width:800px;margin:0 auto 20px}
.section-kicker{color:var(--gwns-orange);font-size:.78rem;font-weight:800;letter-spacing:.15em}
.section-title{
  font-family:"Playfair Display",serif;
  font-size:clamp(2rem,4vw,3.2rem);
  line-height:1.15;margin:10px 0 15px;
}
.section-title span{color:var(--gwns-blue)}
.section-heading p{color:var(--muted);line-height:1.8}
.about-section{background:#fff}
.about-image-card{
  background:linear-gradient(145deg,#eaf3fc,#fff);
  border:1px solid var(--border);
  border-radius:20px;padding:40px;text-align:center;
  position:relative;overflow:hidden;
  box-shadow:var(--shadow);
}
.about-image-card:before{
  content:"";position:absolute;right:-80px;top:-80px;
  width:220px;height:220px;border-radius:50%;background:rgba(242,169,0,.16);
}
.about-image-card img{position:relative;z-index:1;max-width:430px}
.about-image-card p{margin:10px 0 0;color:var(--gwns-blue);font-weight:700}
.about-year{
  position:absolute;left:20px;top:20px;z-index:2;
  background:var(--gwns-orange);color:#111;
  font-weight:900;padding:8px 13px;border-radius:7px;
}
.about-section p{line-height:1.85;color:#5d6875}
.mini-feature{
  height:100%;display:flex;align-items:center;gap:8px;
  background:#f7faff;border:1px solid var(--border);
  padding:12px;border-radius:8px;font-weight:700;font-size:.85rem;
}
.mini-feature i{color:var(--gwns-orange);font-size:1.2rem}

.services-section{background:var(--light)}
.service-card{
  height:100%;background:#fff;border:1px solid var(--border);
  border-radius:16px;padding:30px;
  position:relative;overflow:hidden;
  box-shadow:0 8px 30px rgba(0,54,101,.06);
  transition:.3s ease;
}
.service-card:after{
  content:"";position:absolute;left:0;top:0;width:5px;height:0;
  background:var(--gwns-orange);transition:.3s ease;
}
.service-card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}
.service-card:hover:after{height:100%}
.featured-service{background:linear-gradient(145deg,#003665,#005fa8);color:#fff}
.featured-service p{color:rgba(255,255,255,.75)}
.featured-service a{color:var(--gwns-orange-light)}
.service-icon{
  width:62px;height:62px;border-radius:12px;
  display:grid;place-items:center;
  background:#eaf3fc;color:var(--gwns-blue);
  font-size:1.8rem;margin-bottom:20px;
}
.featured-service .service-icon{background:rgba(255,255,255,.12);color:var(--gwns-orange-light)}
.service-card h3{font-size:1.2rem;font-weight:800}
.service-card p{color:var(--muted);line-height:1.7;font-size:.92rem}
.service-card a{color:var(--gwns-blue);font-weight:800;font-size:.85rem}

.b2c-section{
  background:linear-gradient(135deg,#002d55,#004b8d);
  position:relative;overflow:hidden;
}
.b2c-section:before{
  content:"";position:absolute;right:-150px;top:-150px;
  width:450px;height:450px;border:80px solid rgba(242,169,0,.10);border-radius:50%;
}
.b2c-card{
  height:100%;background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.15);
  padding:20px;border-radius:12px;color:#fff;
  transition:.25s ease;
}
.b2c-card:hover{background:rgba(255,255,255,.14);transform:translateY(-4px)}
.b2c-card i{font-size:1.6rem;color:var(--gwns-orange-light)}
.b2c-card h4{font-size:1rem;margin:12px 0 6px}
.b2c-card p{font-size:.78rem;color:rgba(255,255,255,.65);margin:0}

.marketing-card{
  height:100%;padding:25px;border:1px solid var(--border);
  border-radius:14px;background:#fff;
  box-shadow:0 7px 25px rgba(0,54,101,.05);
  transition:.25s ease;
}
.marketing-card:hover{border-color:#bdd4ea;transform:translateY(-5px)}
.marketing-card i{font-size:2rem;color:var(--gwns-blue)}
.marketing-card h3{font-size:1.05rem;margin:15px 0 7px}
.marketing-card p{font-size:.84rem;color:var(--muted);line-height:1.7;margin:0}

.technology-section{background:var(--light)}
.tech-pill{
  background:#fff;border:1px solid var(--border);
  border-radius:10px;padding:16px;text-align:center;font-weight:800;
  box-shadow:0 5px 18px rgba(0,0,0,.04);
}
.tech-pill i{color:var(--gwns-blue);margin-right:5px}

.why-section{background:#fff}
.why-card{
  height:100%;border:1px solid var(--border);
  border-radius:15px;padding:28px;position:relative;
  overflow:hidden;transition:.25s ease;
}
.why-card:hover{box-shadow:var(--shadow);transform:translateY(-5px)}
.why-card i{font-size:2rem;color:var(--gwns-blue)}
.why-number{position:absolute;right:18px;top:14px;color:#e5edf5;font-weight:900;font-size:2.2rem}
.why-card h3{font-size:1.15rem;margin:15px 0 8px}
.why-card p{font-size:.85rem;color:var(--muted);line-height:1.7}

.cta-section{
  padding:60px 0;background:var(--gwns-orange);color:#111;
}
.cta-section span{font-size:.75rem;font-weight:900;letter-spacing:.14em}
.cta-section h2{font-family:"Playfair Display",serif;font-size:clamp(2rem,4vw,3rem);margin:8px 0}
.cta-section p{margin:0;color:#4c3b12}

.contact-section{background:var(--light)}
.contact-info,.contact-form{
  background:#fff;border:1px solid var(--border);border-radius:16px;
  padding:30px;box-shadow:0 10px 35px rgba(0,54,101,.05);
}
.info-row{display:flex;gap:15px;padding:18px 0;border-bottom:1px solid var(--border)}
.info-row:last-child{border-bottom:0}
.info-row>i{width:42px;height:42px;flex:0 0 42px;border-radius:50%;display:grid;place-items:center;background:#eaf3fc;color:var(--gwns-blue)}
.info-row small{display:block;color:#8993a0;text-transform:uppercase;font-size:.68rem;letter-spacing:.1em;font-weight:800}
.info-row a,.info-row p{color:var(--dark);font-weight:600;margin:4px 0 0;font-size:.88rem;line-height:1.6}
.form-label,.contact-form label{font-size:.8rem;font-weight:800;margin-bottom:6px}
.form-control,.form-select{border:1px solid #dbe2e9;padding:.8rem 1rem;border-radius:7px}
.form-control:focus,.form-select:focus{border-color:var(--gwns-blue);box-shadow:0 0 0 .2rem rgba(0,75,141,.10)}

.footer{background:#001f3d;color:#fff;padding:65px 0 0}
.footer-logo{width:330px;max-width:100%;background:#fff;padding:6px;border-radius:5px;margin-bottom:15px}
.footer p,.footer a{color:rgba(255,255,255,.65);font-size:.85rem;line-height:1.8}
.footer h4{font-size:1rem;color:#fff;margin-bottom:18px}
.footer a{display:block;margin-bottom:8px;transition:.2s}
.footer a:hover{color:var(--gwns-orange-light)}
.social-links{display:flex;gap:8px}
.social-links a{
  width:38px;height:38px;border:1px solid rgba(255,255,255,.15);
  display:grid;place-items:center!important;border-radius:50%;margin:0;
}
.footer-bottom{
  margin-top:45px;padding:20px 0;
  border-top:1px solid rgba(255,255,255,.1);
  display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;
  color:rgba(255,255,255,.5);font-size:.75rem;
}

.back-to-top{
  position:fixed;right:20px;bottom:20px;
  width:45px;height:45px;border:0;border-radius:50%;
  background:var(--gwns-orange);color:#111;
  display:none;place-items:center;z-index:999;
  box-shadow:0 10px 25px rgba(0,0,0,.2);
}
.back-to-top.show{display:grid}

@media (max-width:1199.98px){
  .header-contact{gap:14px}
  .contact-item a{font-size:.78rem}
  .hero-section,.min-vh-75{min-height:680px}
  .hero-card-wrap{height:430px}
  .hero-circle{width:250px;height:250px}
  .hero-circle i{font-size:60px}
}
@media (max-width:991.98px){
  .topbar-left{justify-content:center}
  .topbar-right{justify-content:center}
  .main-header{display:none}
  .main-navbar .navbar-brand{max-width:260px}
  .main-navbar .navbar-brand img{background:#fff;border-radius:4px;padding:4px}
  .main-navbar .navbar-nav{gap:0;padding:12px 0}
  .main-navbar .nav-link{border-radius:5px}
  .hero-section,.min-vh-75{min-height:auto}
  .hero-section{padding:80px 0}
  .hero-card-wrap{height:380px;margin-top:35px}
  .hero-circle{width:230px;height:230px}
  .floating-card{font-size:.78rem}
  .section-padding{padding:75px 0}
}
@media (max-width:767.98px){
  .topbar{font-size:.72rem}
  .topbar-left,.topbar-right{justify-content:center}
  .hero-section{padding:65px 0}
  .hero-section h1{font-size:clamp(2.6rem,12vw,4rem)}
  .hero-text{font-size:.95rem}
  .hero-stats{margin-top:20px}
  .stat-box strong{font-size:1.25rem}
  .hero-card-wrap{height:320px}
  .hero-circle{width:190px;height:190px;border-width:12px}
  .hero-circle i{font-size:45px}
  .hero-circle strong{font-size:1.1rem}
  .card-one{top:15px;left:0}.card-two{top:125px;right:0}.card-three{bottom:15px;left:5px}
  .floating-card{padding:9px 11px}
  .section-padding{padding:60px 0}
  .about-image-card{padding:25px}
  .cta-section{text-align:center}
  .footer-bottom{justify-content:center;text-align:center}
}
@media (max-width:575.98px){
  .topbar-left,.topbar-right{flex-direction:column;gap:3px}
  .main-navbar .navbar-brand{max-width:205px}
  .hero-buttons .btn{width:100%}
  .hero-card-wrap{height:290px}
  .hero-circle{width:170px;height:170px}
  .hero-circle i{font-size:38px}
  .floating-card{font-size:.67rem}
  .floating-card i{font-size:1rem}
  .card-one{top:8px}.card-two{top:115px}.card-three{bottom:8px}
}
