/* ============================================================
   Q-TEN TRADING & GENERAL SERVICES
   COMPLETE UPDATED CSS
   ============================================================ */

:root{
  --qten-teal:#087f8c;
  --qten-teal-2:#10a7b5;
  --qten-cyan:#72e0e7;
  --qten-teal-light:#e8f9fa;

  --qten-dark:#043b47;
  --qten-dark-2:#062f39;

  --qten-text:#48656d;
  --qten-muted:#70878d;

  --qten-bg:#f4fafb;
  --qten-line:#d8eaed;

  --white:#fff;

  --shadow-sm:0 8px 25px rgba(4,59,71,.07);
  --shadow:0 18px 55px rgba(4,72,84,.12);
  --shadow-lg:0 25px 70px rgba(4,59,71,.16);

  --radius:20px;
}


/* ============================================================
   GLOBAL RESET
   ============================================================ */

*{
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
  scroll-padding-top:75px;
}

body{
  margin:0;
  color:var(--qten-text);
  background:#fff;
  font-family:
    Inter,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Arial,
    sans-serif;
  line-height:1.7;
  overflow-x:hidden;
}

body::selection{
  background:var(--qten-teal);
  color:#fff;
}

a{
  text-decoration:none;
}

img{
  max-width:100%;
}


/* ============================================================
   HERO
   IMPORTANT:
   HERO / HEADER KEPT UNCHANGED
   ============================================================ */

.hero{
  position:relative;
  width:100%;
  overflow:hidden;
  background:#087f8c;
}

.hero-art{
  display:block;
  width:100%;
  height:auto;
  user-select:none;
  -webkit-user-drag:none;
}

.hero-links{
  position:absolute;
  inset:0;
  pointer-events:none;
}

.hero-links a{
  position:absolute;
  display:block;
  pointer-events:auto;
}

.home-link{
  left:36%;
  top:5%;
  width:7%;
  height:8%;
}

.about-link{
  left:43%;
  top:5%;
  width:9%;
  height:8%;
}

.services-link{
  left:51%;
  top:5%;
  width:9%;
  height:8%;
}

.industries-link{
  left:59%;
  top:5%;
  width:11%;
  height:8%;
}

.why-link{
  left:69%;
  top:5%;
  width:8%;
  height:8%;
}

.contact-link{
  left:76%;
  top:5%;
  width:10%;
  height:8%;
}

.quote-link{
  left:84%;
  top:4%;
  width:11%;
  height:9%;
}

.explore-link{
  left:5%;
  top:76%;
  width:18%;
  height:12%;
}


/* ============================================================
   NAVIGATION
   ============================================================ */

.mobile-nav{
  position:sticky;
  top:0;
  z-index:1000;

  background:rgba(4,59,71,.96);

  border-bottom:1px solid rgba(255,255,255,.08);

  box-shadow:0 8px 28px rgba(0,0,0,.14);

  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}

.mobile-nav .container{
  max-width:1240px;
}

.mobile-nav .row{
  align-items:stretch;
}

.mobile-nav a{
  position:relative;

  display:block;

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

  font-size:12px;
  font-weight:800;

  letter-spacing:.35px;

  padding:17px 10px;

  text-align:center;

  transition:.25s ease;
}

.mobile-nav a::after{
  content:"";

  position:absolute;

  left:22%;
  right:22%;
  bottom:0;

  height:2px;

  border-radius:99px;

  background:var(--qten-cyan);

  transform:scaleX(0);

  transition:.25s ease;
}

.mobile-nav a:hover{
  color:#fff;
  background:rgba(255,255,255,.055);
}

.mobile-nav a:hover::after{
  transform:scaleX(1);
}


/* ============================================================
   GLOBAL SECTIONS
   ============================================================ */

.section{
  position:relative;
  padding:105px 0;
}

.section::before{
  content:"";

  position:absolute;

  top:0;
  left:50%;

  width:min(900px,80%);
  height:1px;

  transform:translateX(-50%);

  background:
    linear-gradient(
      90deg,
      transparent,
      var(--qten-line),
      transparent
    );

  opacity:.65;
}

.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;

  color:var(--qten-teal);

  font-size:11px;
  font-weight:900;

  letter-spacing:2.4px;

  margin-bottom:15px;
}

.eyebrow::before{
  content:"";

  width:28px;
  height:2px;

  border-radius:99px;

  background:currentColor;
}

.eyebrow.light{
  color:#b8eef2;
}

h2{
  color:var(--qten-dark);

  font-size:clamp(2.15rem,4vw,3.75rem);

  font-weight:900;

  line-height:1.04;

  letter-spacing:-1.8px;

  margin:0 0 23px;
}

.section-intro{
  max-width:760px;

  color:var(--qten-muted);

  font-size:17px;
}

.heading-center{
  max-width:850px;

  margin:0 auto 58px;

  text-align:center;
}

.heading-center > p{
  max-width:760px;

  margin:0 auto;

  color:var(--qten-muted);
}


/* ============================================================
   VALUE STRIP
   ============================================================ */

.value-strip{
  position:relative;

  z-index:2;

  background:#fff;

  box-shadow:0 16px 40px rgba(0,70,85,.10);
}

.value-strip .container{
  max-width:1240px;
}

.value-item{
  min-height:158px;

  padding:31px 25px;

  display:flex;
  align-items:center;

  gap:18px;

  border-right:1px solid var(--qten-line);

  transition:.25s ease;
}

.value-item:hover{
  background:#f8fcfd;
}

.value-item:last-child{
  border-right:0;
}

.value-item > i{
  width:56px;
  height:56px;

  display:grid;
  place-items:center;

  flex:0 0 auto;

  border-radius:16px;

  color:var(--qten-teal);

  background:var(--qten-teal-light);

  font-size:25px;

  transition:.25s ease;
}

.value-item:hover > i{
  color:#fff;

  background:var(--qten-teal);

  transform:translateY(-2px);
}

.value-item h3{
  color:var(--qten-dark);

  font-size:15px;
  font-weight:900;

  margin:0 0 6px;
}

.value-item p{
  margin:0;

  color:var(--qten-muted);

  font-size:12.5px;

  line-height:1.55;
}


/* ============================================================
   ABOUT
   ============================================================ */

.about-section{
  background:#fff;
}

.about-section .lead{
  font-size:18px;
  color:#315b64;
}

.about-section p:not(.lead){
  color:#688087;
}

.brand-card{
  min-height:420px;

  border-radius:28px;

  background:
    radial-gradient(
      circle at 20% 20%,
      rgba(255,255,255,.9),
      transparent 28%
    ),
    linear-gradient(
      135deg,
      #e8f7f8,
      #c6edf0
    );

  display:grid;
  place-items:center;

  overflow:hidden;

  border:1px solid rgba(8,127,140,.10);

  box-shadow:var(--shadow-lg);

  position:relative;
}

.brand-card::before{
  content:"";

  position:absolute;

  width:220px;
  height:220px;

  border-radius:50%;

  border:1px solid rgba(8,127,140,.12);

  top:-90px;
  right:-70px;
}

.brand-card::after{
  content:"";

  position:absolute;

  width:150px;
  height:150px;

  border-radius:50%;

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

  bottom:-75px;
  left:-45px;
}

.supplied-logo{
  position:relative;

  z-index:1;

  width:min(84%,680px);

  height:auto;

  mix-blend-mode:multiply;

  border-radius:10px;

  filter:
    drop-shadow(
      0 14px 22px rgba(4,59,71,.10)
    );
}


/* ============================================================
   BUTTON
   ============================================================ */

.qten-btn{
  border:0;

  border-radius:9px;

  background:
    linear-gradient(
      135deg,
      var(--qten-teal),
      var(--qten-teal-2)
    );

  color:#fff;

  padding:13px 23px;

  font-weight:850;

  box-shadow:
    0 10px 25px rgba(8,127,140,.20);

  transition:.25s ease;
}

.qten-btn:hover{
  background:
    linear-gradient(
      135deg,
      var(--qten-dark),
      var(--qten-teal)
    );

  color:#fff;

  transform:translateY(-2px);

  box-shadow:
    0 14px 30px rgba(4,59,71,.20);
}


/* ============================================================
   FORMATION / INFORMATION CARDS
   ============================================================ */

.formation-section,
.services-section,
.why-section{
  background:var(--qten-bg);
}

.info-card,
.category-card,
.service-card{
  position:relative;

  height:100%;

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

  border:1px solid var(--qten-line);

  border-radius:var(--radius);

  box-shadow:var(--shadow-sm);

  overflow:hidden;
}


/* ============================================================
   INFORMATION CARD
   ============================================================ */

.info-card{
  padding:32px;

  transition:
    transform .28s ease,
    box-shadow .28s ease,
    border-color .28s ease;
}

.info-card::before,
.category-card::before,
.service-card::before{
  content:"";

  position:absolute;

  left:0;
  top:0;

  width:100%;
  height:3px;

  background:
    linear-gradient(
      90deg,
      var(--qten-teal),
      var(--qten-cyan)
    );

  transform:scaleX(0);

  transform-origin:left;

  transition:.3s ease;
}

.info-card:hover,
.category-card:hover,
.service-card:hover{
  transform:translateY(-6px);

  border-color:#b8e0e4;

  box-shadow:var(--shadow);
}

.info-card:hover::before,
.category-card:hover::before,
.service-card:hover::before{
  transform:scaleX(1);
}

.info-card h3,
.category-card h3{
  color:var(--qten-dark);

  font-size:20px;

  font-weight:900;

  margin-bottom:13px;
}

.info-card p,
.category-card p{
  color:#617a81;
}

.info-card ul,
.category-card ul{
  padding-left:19px;

  margin-bottom:0;
}

.info-card li,
.category-card li{
  margin-bottom:7px;

  color:#5c747b;
}


/* ============================================================
   SERVICES
   ============================================================ */

.service-card{
  padding:32px;

  transition:
    transform .28s ease,
    box-shadow .28s ease,
    border-color .28s ease;
}

.service-icon{
  width:64px;
  height:64px;

  border-radius:17px;

  display:grid;
  place-items:center;

  color:var(--qten-teal);

  background:
    linear-gradient(
      135deg,
      #e7f8f9,
      #d7f1f3
    );

  border:1px solid #c9e9ec;

  font-size:27px;

  margin-bottom:22px;

  transition:.28s ease;
}

.service-card:hover .service-icon{
  color:#fff;

  background:
    linear-gradient(
      135deg,
      var(--qten-teal),
      var(--qten-teal-2)
    );

  border-color:transparent;

  transform:
    rotate(-3deg)
    translateY(-2px);
}

.service-card h3{
  color:var(--qten-dark);

  font-size:21px;

  font-weight:900;

  margin-bottom:9px;
}

.service-card p{
  color:#687f85;
}

.service-card ul{
  padding-left:19px;

  margin:14px 0 0;
}

.service-card li{
  margin-bottom:7px;

  color:#5c747b;
}


/* ============================================================
   CATEGORY CARDS
   IMPORTANT ALIGNMENT FIX
   ============================================================ */

.category-card{
  /*
    THIS WAS THE MAIN ALIGNMENT PROBLEM.
    The cards previously had no internal padding.
  */

  padding:32px 32px 30px;

  display:flex;
  flex-direction:column;

  transition:
    transform .30s cubic-bezier(.2,.8,.2,1),
    box-shadow .30s ease,
    border-color .30s ease;
}


/* top accent */

.category-card::before{
  height:4px;

  background:
    linear-gradient(
      90deg,
      var(--qten-teal),
      var(--qten-teal-2),
      var(--qten-cyan)
    );

  transform:scaleX(.15);

  transform-origin:left;
}

.category-card:hover::before{
  transform:scaleX(1);
}


/* decorative circle */

.category-card::after{
  content:"";

  position:absolute;

  width:190px;
  height:190px;

  top:-115px;
  right:-105px;

  border-radius:50%;

  background:
    radial-gradient(
      circle,
      rgba(16,167,181,.12),
      rgba(16,167,181,.035) 45%,
      transparent 70%
    );

  pointer-events:none;

  transition:
    transform .45s ease,
    opacity .45s ease;
}

.category-card:hover::after{
  transform:scale(1.35);
}


/* category card hover */

.category-card:hover{
  transform:translateY(-8px);

  border-color:
    rgba(8,127,140,.25);

  box-shadow:
    0 25px 60px rgba(4,59,71,.12),
    0 6px 18px rgba(8,127,140,.06);
}


/* ============================================================
   CATEGORY CARD SMALL TITLE
   ============================================================ */

.category-card .small-title{
  position:relative;

  z-index:3;

  display:inline-flex;

  align-items:center;

  gap:8px;

  width:max-content;

  margin-bottom:10px;

  color:var(--qten-teal);

  font-size:10px;

  font-weight:900;

  letter-spacing:1.8px;

  line-height:1.2;

  text-transform:uppercase;
}

.category-card .small-title::before{
  content:"";

  width:22px;
  height:2px;

  flex:0 0 auto;

  border-radius:100px;

  background:currentColor;
}


/* ============================================================
   CATEGORY CARD HEADING
   ============================================================ */

.category-card h3{
  position:relative;

  z-index:3;

  margin:0 0 17px;

  color:var(--qten-dark);

  font-size:21px;

  font-weight:900;

  line-height:1.28;

  letter-spacing:-.45px;
}


/* ============================================================
   CATEGORY CARD PARAGRAPH
   ============================================================ */

.category-card > p{
  position:relative;

  z-index:3;

  margin:0 0 20px;

  color:#6b8288;

  font-size:14px;

  line-height:1.75;
}


/* ============================================================
   CATEGORY CARD LIST
   ============================================================ */

.category-card ul{
  position:relative;

  z-index:3;

  margin:0;

  padding:0;

  list-style:none;
}

.category-card li{
  position:relative;

  display:flex;

  align-items:flex-start;

  gap:11px;

  margin:0;

  padding:10px 0;

  color:#526c74;

  font-size:13.5px;

  line-height:1.55;

  border-bottom:
    1px solid rgba(8,127,140,.09);

  transition:
    padding-left .25s ease,
    color .25s ease;
}

.category-card li:last-child{
  border-bottom:0;
}


/* custom check icon */

.category-card li::before{
  content:"✓";

  position:relative;

  flex:0 0 auto;

  width:21px;
  height:21px;

  display:grid;

  place-items:center;

  margin-top:0;

  border-radius:50%;

  color:var(--qten-teal);

  background:#e8f8f9;

  border:1px solid #cdebed;

  font-size:10px;

  font-weight:900;

  transition:
    background .25s ease,
    color .25s ease,
    transform .25s ease;
}


/* disable Bootstrap/list bullet style */

.category-card li::after{
  display:none;
}

.category-card li:hover{
  padding-left:5px;

  color:var(--qten-dark);
}

.category-card li:hover::before{
  color:#fff;

  background:
    linear-gradient(
      135deg,
      var(--qten-teal),
      var(--qten-teal-2)
    );

  transform:scale(1.08);
}


/* ============================================================
   PERSONAL PRO SERVICES
   ============================================================ */

.personal-pro-section{
  background:#fff;
}


/* personal cards */

.personal-pro-section .category-card{
  min-height:100%;

  background:
    linear-gradient(
      145deg,
      #ffffff 0%,
      #fbfeff 55%,
      #f2fafb 100%
    );
}


/* ============================================================
   PERSONAL PRO ICON
   Works if icons are added inside cards
   ============================================================ */

.personal-pro-section .category-icon{
  position:relative;

  z-index:3;

  width:66px;
  height:66px;

  display:grid;

  place-items:center;

  margin-bottom:21px;

  border-radius:18px;

  color:var(--qten-teal);

  background:
    linear-gradient(
      135deg,
      #e9fafb,
      #d7f2f4
    );

  border:1px solid #cce9ec;

  font-size:27px;

  box-shadow:
    0 10px 24px rgba(8,127,140,.08);

  transition:
    transform .35s ease,
    background .35s ease,
    color .35s ease,
    box-shadow .35s ease;
}

.personal-pro-section .category-card:hover .category-icon{
  color:#fff;

  background:
    linear-gradient(
      135deg,
      var(--qten-teal),
      var(--qten-teal-2)
    );

  border-color:transparent;

  transform:
    translateY(-4px)
    rotate(-4deg);

  box-shadow:
    0 15px 32px rgba(8,127,140,.22);
}


/* ============================================================
   PERSONAL PRO CARD VARIANTS
   ============================================================ */

.personal-pro-section .category-card:nth-child(1){
  background:
    linear-gradient(
      145deg,
      #ffffff,
      #f4fcfd
    );
}

.personal-pro-section .category-card:nth-child(2){
  background:
    linear-gradient(
      145deg,
      #ffffff,
      #f1fbfc
    );
}

.personal-pro-section .category-card:nth-child(3){
  background:
    linear-gradient(
      145deg,
      #ffffff,
      #eefafb
    );
}


/* ============================================================
   FEATURED CATEGORY CARD
   ============================================================ */

.category-card.featured{
  border-color:
    rgba(8,127,140,.25);

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

  box-shadow:
    0 15px 38px rgba(8,127,140,.10);
}

.category-card.featured .category-icon,
.category-card.featured .service-icon{
  color:#fff;

  background:
    linear-gradient(
      135deg,
      var(--qten-teal),
      var(--qten-teal-2)
    );

  border-color:transparent;
}


/* ============================================================
   CARD LINK
   ============================================================ */

.category-card .card-link{
  position:relative;

  z-index:3;

  display:inline-flex;

  align-items:center;

  gap:8px;

  width:max-content;

  margin-top:21px;

  color:var(--qten-teal);

  font-size:13px;

  font-weight:900;

  text-decoration:none;

  transition:
    gap .25s ease,
    color .25s ease;
}

.category-card .card-link i{
  font-size:15px;
}

.category-card:hover .card-link{
  gap:13px;

  color:var(--qten-dark);
}


/* ============================================================
   CORPORATE PRO SECTION
   ============================================================ */

.services-section .category-card{
  background:
    rgba(255,255,255,.98);
}


/* ============================================================
   INDUSTRIES / SERVICE AREAS
   ============================================================ */

.industries-section{
  background:#fff;
}

.industry{
  min-height:155px;

  padding:27px;

  border:1px solid var(--qten-line);

  border-radius:18px;

  display:flex;

  flex-direction:column;

  justify-content:center;

  gap:15px;

  color:var(--qten-dark);

  background:
    linear-gradient(
      145deg,
      #fff,
      #f4fbfc
    );

  box-shadow:
    0 5px 18px rgba(4,72,84,.035);

  transition:.28s ease;
}

.industry:hover{
  transform:translateY(-6px);

  border-color:#a9dce1;

  box-shadow:var(--shadow);

  background:#fff;
}

.industry i{
  width:50px;
  height:50px;

  display:grid;

  place-items:center;

  border-radius:14px;

  font-size:23px;

  color:var(--qten-teal);

  background:var(--qten-teal-light);
}

.industry span{
  font-weight:900;

  font-size:14px;
}


/* ============================================================
   WHY Q-TEN
   ============================================================ */

.reason{
  min-height:105px;

  padding:24px 25px;

  border:1px solid var(--qten-line);

  border-radius:17px;

  background:#fff;

  display:flex;

  align-items:center;

  gap:15px;

  color:var(--qten-dark);

  font-weight:850;

  box-shadow:
    0 5px 18px rgba(4,72,84,.035);

  transition:.25s ease;
}

.reason:hover{
  transform:translateY(-4px);

  border-color:#a9dce1;

  box-shadow:var(--shadow-sm);
}

.reason i{
  width:43px;
  height:43px;

  display:grid;

  place-items:center;

  flex:0 0 auto;

  border-radius:12px;

  font-size:21px;

  color:var(--qten-teal);

  background:var(--qten-teal-light);
}


/* ============================================================
   CTA
   ============================================================ */

.cta-section{
  background:#fff;
}

.cta-box{
  position:relative;

  overflow:hidden;

  border-radius:28px;

  padding:65px 45px;

  background:
    radial-gradient(
      circle at 90% 15%,
      rgba(16,167,181,.18),
      transparent 28%
    ),
    radial-gradient(
      circle at 5% 100%,
      rgba(8,127,140,.10),
      transparent 25%
    ),
    linear-gradient(
      135deg,
      #e9f8f9,
      #d5f1f3
    );

  border:1px solid var(--qten-line);

  box-shadow:var(--shadow-sm);
}

.cta-box::after{
  content:"";

  position:absolute;

  width:260px;
  height:260px;

  border:1px solid rgba(8,127,140,.10);

  border-radius:50%;

  right:-100px;
  bottom:-140px;
}

.cta-box > *{
  position:relative;

  z-index:1;
}

.cta-box h2{
  margin-bottom:12px;
}


/* ============================================================
   CONTACT
   ============================================================ */

.contact-section{
  background:
    radial-gradient(
      circle at 10% 20%,
      rgba(114,224,231,.13),
      transparent 25%
    ),
    radial-gradient(
      circle at 90% 80%,
      rgba(114,224,231,.10),
      transparent 25%
    ),
    linear-gradient(
      135deg,
      #043f4c,
      #087f8c
    );

  color:#fff;
}

.contact-grid{
  display:grid;

  grid-template-columns:1fr 1fr;

  gap:70px;

  align-items:center;
}

.contact-grid h2{
  color:#fff;
}

.contact-grid p{
  font-size:17px;

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

.contact-details{
  margin-top:28px;

  padding-top:22px;

  border-top:
    1px solid rgba(255,255,255,.16);
}

.contact-details div{
  display:flex;

  gap:13px;

  align-items:flex-start;

  margin-bottom:16px;

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

.contact-details i{
  width:38px;
  height:38px;

  display:grid;

  place-items:center;

  flex:0 0 auto;

  border-radius:11px;

  font-size:18px;

  color:#b8eef2;

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

.contact-details strong{
  color:#fff;
}

.contact-form{
  padding:32px;

  border-radius:22px;

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

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

  box-shadow:
    0 25px 70px rgba(0,0,0,.16);

  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);

  display:flex;

  flex-direction:column;

  gap:12px;
}

.contact-form .form-control{
  border:
    1px solid rgba(255,255,255,.18);

  border-radius:10px;

  padding:14px 15px;

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

  color:var(--qten-dark);

  box-shadow:none;
}

.contact-form .form-control:focus{
  border-color:#72e0e7;

  box-shadow:
    0 0 0 4px rgba(114,224,231,.14);
}

.contact-form textarea{
  resize:vertical;

  min-height:130px;
}

.contact-form .btn-light{
  color:var(--qten-dark);

  background:#fff;

  border:0;

  border-radius:10px;

  padding:13px 20px;

  font-weight:900;
}

.contact-form .btn-light:hover{
  color:#fff;

  background:var(--qten-dark);
}

.contact-form .btn-light:disabled{
  opacity:.65;

  cursor:not-allowed;
}

.form-message{
  min-height:24px;

  padding-top:2px;

  font-size:13px;

  color:#c9f7fa;
}

.form-message.is-error{
  color:#ffb4b4;
}


/* ============================================================
   FOOTER
   ============================================================ */

.footer{
  padding:50px 0 24px;

  background:#032f39;

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

.footer-top{
  display:flex;

  align-items:center;

  justify-content:space-between;

  gap:30px;
}

.footer-top strong{
  display:block;

  color:#fff;

  font-size:34px;

  font-weight:950;

  letter-spacing:-1px;

  line-height:1;
}

.footer-top span{
  font-size:12px;

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

.footer-links{
  display:flex;

  flex-wrap:wrap;

  justify-content:flex-end;

  gap:8px 20px;
}

.footer-links a{
  color:rgba(255,255,255,.68);

  font-size:13px;

  font-weight:700;

  transition:.2s ease;
}

.footer-links a:hover{
  color:#8be8ed;
}

.footer hr{
  border-color:
    rgba(255,255,255,.11);

  margin:34px 0 22px;
}

.copyright{
  display:flex;

  justify-content:space-between;

  gap:15px;

  font-size:12px;

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


/* ============================================================
   BACK TO TOP
   ============================================================ */

.back-top{
  position:fixed;

  right:24px;
  bottom:24px;

  width:48px;
  height:48px;

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

  border-radius:50%;

  background:
    linear-gradient(
      135deg,
      var(--qten-teal),
      var(--qten-teal-2)
    );

  color:#fff;

  display:grid;

  place-items:center;

  box-shadow:
    0 12px 30px rgba(0,0,0,.22);

  opacity:0;

  visibility:hidden;

  transform:translateY(10px);

  transition:.25s ease;

  z-index:1100;
}

.back-top:hover{
  transform:translateY(-2px);
}

.back-top.show{
  opacity:1;

  visibility:visible;

  transform:translateY(0);
}


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

@media(max-width:1199px){

  .section{
    padding:95px 0;
  }

  .category-card{
    padding:30px 28px 28px;
  }

  .contact-grid{
    gap:50px;
  }
}


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

@media(max-width:991px){

  .section{
    padding:85px 0;
  }

  .value-item{
    border-bottom:
      1px solid var(--qten-line);
  }

  .value-item:nth-child(2n){
    border-right:0;
  }

  .contact-grid{
    grid-template-columns:1fr;

    gap:45px;
  }

  .footer-top{
    flex-direction:column;

    align-items:flex-start;
  }

  .footer-links{
    justify-content:flex-start;
  }

  .category-card{
    padding:30px 27px 28px;
  }
}


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

@media(max-width:767px){

  /*
    Hero hotspots remain disabled on mobile,
    matching the existing hero behavior.
  */

  .hero-links{
    display:none;
  }

  .section{
    padding:72px 0;
  }

  .section::before{
    width:90%;
  }

  .heading-center{
    margin-bottom:40px;
  }

  .value-item{
    border-right:0;

    padding:25px 20px;
  }

  .brand-card{
    min-height:320px;

    border-radius:22px;
  }

  .mobile-nav a{
    font-size:10.5px;

    padding:13px 4px;

    letter-spacing:0;
  }

  .mobile-nav a::after{
    left:12%;
    right:12%;
  }

  .cta-box{
    padding:45px 24px;

    border-radius:22px;
  }

  .contact-form{
    padding:23px;
  }

  .industry{
    min-height:135px;

    padding:21px;
  }

  .industry span{
    font-size:13px;
  }


  /* PERSONAL PRO MOBILE */

  .personal-pro-section .category-card,
  .category-card{
    padding:28px 24px 26px;

    border-radius:21px;
  }

  .category-card h3{
    font-size:19px;
  }

  .category-card > p{
    font-size:13.5px;
  }

  .category-card li{
    font-size:13px;

    padding:9px 0;
  }

  .personal-pro-section .category-icon{
    width:59px;
    height:59px;

    margin-bottom:19px;

    border-radius:16px;

    font-size:23px;
  }
}


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

@media(max-width:575px){

  h2{
    font-size:2.05rem;

    letter-spacing:-1px;
  }

  .section-intro{
    font-size:15px;
  }

  .value-item{
    min-height:125px;

    padding:22px 18px;
  }

  .value-item > i{
    width:48px;
    height:48px;

    font-size:21px;
  }

  .value-item h3{
    font-size:14px;
  }

  .value-item p{
    font-size:12px;
  }

  .info-card,
  .category-card,
  .service-card{
    padding:25px;
  }

  .service-icon{
    width:58px;
    height:58px;
  }

  .reason{
    padding:20px;

    min-height:90px;

    font-size:14px;
  }

  .reason i{
    width:38px;
    height:38px;

    font-size:18px;
  }

  .contact-form{
    padding:19px;
  }

  .copyright{
    flex-direction:column;
  }

  .back-top{
    right:17px;
    bottom:17px;
  }


  /* PERSONAL PRO SMALL MOBILE */

  .personal-pro-section .category-card,
  .category-card{
    padding:25px 22px;
  }

  .personal-pro-section .category-icon{
    width:56px;
    height:56px;

    border-radius:15px;

    font-size:22px;
  }

  .category-card .small-title{
    font-size:9px;

    letter-spacing:1.5px;
  }

  .category-card h3{
    font-size:18px;
  }

  .category-card li{
    font-size:12.7px;

    gap:9px;
  }

  .category-card li::before{
    width:20px;
    height:20px;

    font-size:9px;
  }
}


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

@media(max-width:390px){

  .value-item{
    gap:13px;
  }

  .value-item > i{
    width:44px;
    height:44px;

    font-size:19px;
  }

  .category-card{
    padding:23px 19px;
  }

  .category-card h3{
    font-size:17px;
  }

  .category-card li{
    font-size:12.2px;
  }

  .industry{
    min-height:125px;

    padding:18px;
  }

  .industry i{
    width:44px;
    height:44px;

    font-size:20px;
  }
}