:root{--soft:#f6f7f9;}
body{font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;}
.hero{position:relative;background-size:cover;background-position:right center;background-repeat:no-repeat;background-color:#0b0f16;}
.hero-overlay{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.58) 28%,rgba(0,0,0,.22) 60%,rgba(0,0,0,0) 100%);}
.text-white-75{color:rgba(255,255,255,.78)!important;}
.glass{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:1rem;backdrop-filter:blur(10px);}
.stat{padding:.5rem .25rem;}
.stat-value{font-size:1.6rem;font-weight:800;color:#fff;}
.stat-label{font-size:.85rem;color:rgba(255,255,255,.75);}
.bg-soft{background:var(--soft);}
.feature-card{border:1px solid rgba(0,0,0,.08);border-radius:1rem;padding:1rem;background:#fff;height:100%;box-shadow:0 8px 24px rgba(0,0,0,.04);}
.feature-title{font-weight:700;margin-bottom:.35rem;}
.app-card{border:1px solid rgba(0,0,0,.08);border-radius:1rem;transition:transform .15s ease,box-shadow .15s ease;}
.app-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,0,0,.08);}
.footer{background:#0b0f14;}
.btn-black{background:#000;border-color:#000;color:#fff;}
.btn-black:hover{background:#111;border-color:#111;color:#fff;}
.placeholder-image{height:280px;display:flex;align-items:center;justify-content:center;border-radius:1rem;border:1px dashed rgba(0,0,0,.25);background:#fff;color:#6c757d;}
.content p{color:#343a40;}
.content h2,.content h3{margin-top:1.25rem;}

/* HERO: make the right glass panel darker + blurrier for readability */
.hero .glass{
  background:rgba(12,12,12,.55);
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(18px) saturate(120%);
  -webkit-backdrop-filter:blur(18px) saturate(120%);
  box-shadow:0 18px 50px rgba(0,0,0,.45);
}
.hero .glass *{text-shadow:0 1px 10px rgba(0,0,0,.45);}

/* Brand logo sizing */
/* Brand logo sizing */
.navbar-brand .site-logo{height:50px;max-height:50px;width:auto;display:block;object-fit:contain;}


/* HERO RESPONSIVE */
@media (max-width: 991.98px){
  .hero{background-position:center;}
  .hero-overlay{background:linear-gradient(180deg,rgba(0,0,0,.70) 0%,rgba(0,0,0,.40) 55%,rgba(0,0,0,.20) 100%);}
}


/* Layout spacing */
.container{padding-left:24px;padding-right:24px;}
@media (min-width:1200px){
  .container{max-width:1320px;}
}
@media (min-width:1400px){
  .container{max-width:1380px;}
}

/* Navbar: taller, white background */
.navbar{padding-top:18px;padding-bottom:18px;}
.navbar.bg-white{background:#fff!important;}
.navbar .nav-link{padding-top:.55rem;padding-bottom:.55rem;}
.navbar .dropdown-menu{border-radius:12px;box-shadow:0 18px 45px rgba(0,0,0,.10);border:1px solid rgba(0,0,0,.08);}

/* Hero: inset with side padding + rounded corners */
.hero-wrap{padding:26px 0 10px;}
.hero-panel{border-radius:22px;overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.18);}
.hero-inner{padding-left:26px;padding-right:26px;}
@media (max-width: 575.98px){
  .hero-inner{padding-left:18px;padding-right:18px;}
}

/* Sections: increase vertical padding */
.section{padding:78px 0;}
.section-soft{background:var(--soft);border-top:1px solid rgba(0,0,0,.06);border-bottom:1px solid rgba(0,0,0,.06);}

/* Hero right panel: darker + more blur for readability */
.glass-hero{
  background: rgba(12,12,12,0.62);
  border: 1px solid rgba(255,255,255,0.16);
  backdrop-filter: blur(18px) saturate(120%);
  -webkit-backdrop-filter: blur(18px) saturate(120%);
  box-shadow: 0 18px 50px rgba(0,0,0,0.45);
}
.glass-hero *{text-shadow:0 1px 10px rgba(0,0,0,0.45);}


/* v1.10: ensure navbar logo fits 50px */
.site-logo img{height:50px; max-height:50px; width:auto;}


.features-grid .feature-card h3,
.feature-grid .feature-card h3,
.cards-grid .card h3 {
  display: flex;
  align-items: center;
  gap: 10px;
}

.features-grid .feature-card h3::before,
.feature-grid .feature-card h3::before,
.cards-grid .card h3::before {
  content: "";
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  border-radius: 10px;
  background-color: rgba(0,0,0,0.06);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 20px 20px;
}

.features-grid .feature-card:nth-child(1) h3::before,
.feature-grid .feature-card:nth-child(1) h3::before,
.cards-grid .card:nth-child(1) h3::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='14' rx='2'/%3E%3Cpath d='M7 8h6'/%3E%3Cpath d='M7 12h10'/%3E%3Cpath d='M9 20h6'/%3E%3C/svg%3E");
}

.features-grid .feature-card:nth-child(2) h3::before,
.feature-grid .feature-card:nth-child(2) h3::before,
.cards-grid .card:nth-child(2) h3::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='4' width='16' height='6' rx='2'/%3E%3Crect x='4' y='14' width='16' height='6' rx='2'/%3E%3Cpath d='M7 7h.01'/%3E%3Cpath d='M7 17h.01'/%3E%3Cpath d='M12 10v4'/%3E%3C/svg%3E");
}

.features-grid .feature-card:nth-child(3) h3::before,
.feature-grid .feature-card:nth-child(3) h3::before,
.cards-grid .card:nth-child(3) h3::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2l7 4v6c0 5-3 9-7 10C8 21 5 17 5 12V6l7-4z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E");
}

.features-grid .feature-card:nth-child(4) h3::before,
.feature-grid .feature-card:nth-child(4) h3::before,
.cards-grid .card:nth-child(4) h3::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3l7 7-4 1-3 3-1 4-7-7 4-1 3-3 1-4z'/%3E%3Cpath d='M7 17l-2 4 4-2'/%3E%3Cpath d='M15 9l-6 6'/%3E%3C/svg%3E");
}


/* v1.12: Feature icons for homepage 4 cards */
.feature-card .feature-title {
  display: flex;
  align-items: center;
  gap: 10px;
}

.feature-card .feature-title::before {
  content: "";
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  border-radius: 10px;
  background-color: rgba(0,0,0,0.06);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 20px 20px;
}

.row > .col-md-6:nth-child(1) .feature-card .feature-title::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='14' rx='2'/%3E%3Cpath d='M7 8h6'/%3E%3Cpath d='M7 12h10'/%3E%3Cpath d='M9 20h6'/%3E%3C/svg%3E"); }
.row > .col-md-6:nth-child(2) .feature-card .feature-title::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='4' width='16' height='6' rx='2'/%3E%3Crect x='4' y='14' width='16' height='6' rx='2'/%3E%3Cpath d='M7 7h.01'/%3E%3Cpath d='M7 17h.01'/%3E%3Cpath d='M12 10v4'/%3E%3C/svg%3E"); }
.row > .col-md-6:nth-child(3) .feature-card .feature-title::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2l7 4v6c0 5-3 9-7 10C8 21 5 17 5 12V6l7-4z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E"); }
.row > .col-md-6:nth-child(4) .feature-card .feature-title::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3l7 7-4 1-3 3-1 4-7-7 4-1 3-3 1-4z'/%3E%3Cpath d='M7 17l-2 4 4-2'/%3E%3Cpath d='M15 9l-6 6'/%3E%3C/svg%3E"); }


/* v1.14 (Package A): spacing + hover polish (no font changes) */

/* Container width + breathable layout */
.container{
  max-width: 1240px;
}
@media (min-width: 1400px){
  .container{ max-width: 1320px; }
}

/* Sections: more vertical rhythm */
section{
  padding-top: 56px;
  padding-bottom: 56px;
}
.hero-wrap{
  padding-top: 18px;
  padding-bottom: 22px;
}

/* Subtle dividers between major sections (optional helper class) */
.section-divider{
  height: 1px;
  background: rgba(0,0,0,0.08);
  margin: 0;
}

/* Cards: premium hover */
.feature-card,
.card{
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.feature-card:hover,
.card:hover{
  transform: translateY(-2px);
  box-shadow: 0 18px 50px rgba(0,0,0,0.10);
  border-color: rgba(0,0,0,0.10) !important;
}

/* Feature cards: slightly stronger border + radius */
.feature-card{
  border: 1px solid rgba(0,0,0,0.08) !important;
  border-radius: 18px !important;
  padding: 20px 22px !important;
}

/* Buttons: cleaner hover/active */
.btn{
  border-radius: 12px !important;
  transition: transform .12s ease, box-shadow .12s ease, background-color .12s ease, border-color .12s ease;
}
.btn:active{
  transform: translateY(1px);
}
.btn-dark,
.btn.btn-dark{
  box-shadow: 0 10px 24px rgba(0,0,0,0.20);
}
.btn-dark:hover,
.btn.btn-dark:hover{
  box-shadow: 0 14px 34px rgba(0,0,0,0.26);
}

/* Navbar link underline on hover (subtle) */
.nav a,
.navbar a{
  position: relative;
}
.nav a::after,
.navbar a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-8px;
  width:0;
  height:2px;
  background:#000;
  transition: width .16s ease;
  opacity:.55;
}
.nav a:hover::after,
.navbar a:hover::after{
  width:100%;
}

/* Improve text readability on light backgrounds */
.text-muted{
  color: rgba(0,0,0,0.62) !important;
}

/* Right CTA card: highlight */
.card.shadow-sm{
  border: 1px solid rgba(0,0,0,0.08) !important;
  border-radius: 18px !important;
}
.card.shadow-sm .btn{
  height: 44px;
}

/* Footer polish (if present) */
footer{
  padding-top: 28px;
  padding-bottom: 28px;
  border-top: 1px solid rgba(0,0,0,0.08);
}


/* v1.15 (Package A - next): Trust strip + CTA band */
.trust-strip{
  padding: 14px 0;
  background: rgba(0,0,0,0.02);
  border-top: 1px solid rgba(0,0,0,0.06);
  border-bottom: 1px solid rgba(0,0,0,0.06);
}
.trust-row{
  display:flex;
  flex-wrap:wrap;
  gap: 10px 18px;
  align-items:center;
  justify-content: space-between;
}
.trust-item{
  display:flex;
  align-items:center;
  gap:10px;
  color: rgba(0,0,0,0.72);
  font-size: 14px;
}
.trust-dot{
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #000;
  opacity: .65;
}

.cta-band{
  padding-top: 28px;
  padding-bottom: 28px;
}
.cta-band-inner{
  display:flex;
  gap: 18px;
  align-items:center;
  justify-content: space-between;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 20px;
  padding: 22px 22px;
  background: #fff;
  box-shadow: 0 14px 44px rgba(0,0,0,0.08);
}
.cta-eyebrow{
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(0,0,0,0.55);
  margin-bottom: 6px;
}
.cta-title{
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 4px;
}
.cta-sub{
  color: rgba(0,0,0,0.62);
  max-width: 680px;
}
.cta-band-actions{
  display:flex;
  gap: 10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.btn-outline-dark{
  border-color: rgba(0,0,0,0.45) !important;
}

@media (max-width: 991px){
  .trust-row{ justify-content:flex-start; }
  .cta-band-inner{ flex-direction: column; align-items:flex-start; }
  .cta-band-actions{ justify-content:flex-start; }
}


/* v1.16 (Package A - next): Premium footer */
.site-footer{
  background: #fff;
  border-top: 1px solid rgba(0,0,0,0.08);
  padding-top: 34px;
  padding-bottom: 18px;
}
.footer-top{
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1fr;
  gap: 22px;
  padding-bottom: 18px;
}
.footer-logo img{
  height: 34px;
  width: auto;
  display:block;
}
.footer-name{
  font-weight: 800;
  font-size: 18px;
  letter-spacing: -0.01em;
}
.footer-desc{
  margin-top: 10px;
  color: rgba(0,0,0,0.62);
  max-width: 420px;
}
.footer-social{
  margin-top: 12px;
  display:flex;
  gap: 12px;
  flex-wrap:wrap;
}
.footer-social a{
  color: rgba(0,0,0,0.70);
  text-decoration: none;
  border-bottom: 1px solid rgba(0,0,0,0.12);
}
.footer-social a:hover{
  border-bottom-color: rgba(0,0,0,0.40);
}
.footer-title{
  font-weight: 700;
  margin-bottom: 10px;
}
.site-footer a{
  display: inline-block;
  color: rgba(0,0,0,0.70);
  text-decoration: none;
  margin-bottom: 8px;
}
.site-footer a:hover{
  color: rgba(0,0,0,0.92);
}
.footer-meta span{
  color: rgba(0,0,0,0.50);
}
.footer-bottom{
  display:flex;
  justify-content: space-between;
  align-items:center;
  gap: 12px;
  padding-top: 14px;
  border-top: 1px solid rgba(0,0,0,0.08);
  color: rgba(0,0,0,0.58);
  font-size: 13px;
}
.footer-mini-links{
  display:flex;
  align-items:center;
  gap: 8px;
}
.footer-mini-links .sep{
  opacity: .5;
}
@media (max-width: 991px){
  .footer-top{
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 575px){
  .footer-top{
    grid-template-columns: 1fr;
  }
  .footer-bottom{
    flex-direction: column;
    align-items:flex-start;
  }
}


/* v1.17: Featured Applications showcase */
.app-card{
  border: 1px solid rgba(0,0,0,0.08) !important;
  border-radius: 20px !important;
  overflow: hidden;
  background: #fff;
}
.app-card-inner{
  height: 100%;
  display:flex;
  flex-direction: column;
}
.app-thumb{
  height: 160px;
  background: rgba(0,0,0,0.03);
  border-bottom: 1px solid rgba(0,0,0,0.06);
}
.app-thumb img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display:block;
}
.app-thumb-placeholder{
  width: 100%;
  height: 100%;
  background:
    radial-gradient(1200px 260px at 20% 0%, rgba(0,0,0,0.10), rgba(0,0,0,0.00)),
    linear-gradient(135deg, rgba(0,0,0,0.10), rgba(0,0,0,0.02));
}

.app-bullets{
  list-style: none;
  padding-left: 0;
  margin: 0;
  display:grid;
  gap: 8px;
}
.app-bullets li{
  display:flex;
  gap: 10px;
  align-items:flex-start;
  color: rgba(0,0,0,0.70);
  font-size: 14px;
  line-height: 1.35;
}
.app-bullets li::before{
  content:"";
  width: 8px;
  height: 8px;
  margin-top: 6px;
  border-radius: 999px;
  background: #000;
  opacity: .55;
  flex: 0 0 8px;
}

.app-card-cta{
  display:flex;
  align-items:center;
  justify-content: space-between;
  padding-top: 10px;
  border-top: 1px solid rgba(0,0,0,0.06);
}
.app-arrow{
  font-size: 18px;
  line-height: 1;
  color: rgba(0,0,0,0.85);
  transition: transform .16s ease;
}
.app-card:hover .app-arrow{
  transform: translateX(2px);
}


/* v1.18: Applications showcase filters + layout */
.apps-header{
  display:flex;
  gap: 14px;
  align-items:flex-end;
  justify-content: space-between;
  margin-bottom: 14px;
}
.apps-header-actions{
  display:flex;
  gap: 10px;
  align-items:center;
  flex-wrap: wrap;
  justify-content:flex-end;
}
.apps-search{
  width: 320px;
  max-width: 72vw;
}
.apps-search .form-control{
  border-radius: 12px;
  border-color: rgba(0,0,0,0.14);
  padding: 10px 12px;
}
.apps-filters{
  display:flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
}
.chip{
  border: 1px solid rgba(0,0,0,0.14);
  background: rgba(0,0,0,0.02);
  color: rgba(0,0,0,0.78);
  padding: 8px 12px;
  border-radius: 999px;
  font-size: 13px;
  transition: transform .12s ease, background-color .12s ease, border-color .12s ease;
}
.chip:hover{
  background: rgba(0,0,0,0.04);
  transform: translateY(-1px);
}
.chip.is-active{
  background: #000;
  color: #fff;
  border-color: #000;
}
@media (max-width: 575px){
  .apps-header{ align-items:flex-start; flex-direction: column; }
  .apps-header-actions{ justify-content:flex-start; }
  .apps-search{ width: 100%; max-width: 100%; }
}


/* v1.19: Premium app detail page */
.app-detail .app-hero{
  display:flex;
  gap: 18px;
  align-items: stretch;
  justify-content: space-between;
  padding: 22px 22px;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 14px 44px rgba(0,0,0,0.08);
}
.app-hero-left{ flex: 1 1 auto; min-width: 0; }
.app-hero-right{ width: 360px; max-width: 40%; }
.app-hero-actions{ display:flex; gap: 10px; flex-wrap: wrap; }
.app-hero-meta{
  margin-top: 14px;
  display:flex;
  gap: 18px;
  flex-wrap: wrap;
  color: rgba(0,0,0,0.62);
  font-size: 13px;
}
.meta-item{ display:flex; gap: 8px; align-items:center; }
.meta-k{ color: rgba(0,0,0,0.45); }
.meta-v{ color: rgba(0,0,0,0.75); }

.highlight-list, .feature-list{
  list-style:none;
  padding-left:0;
  margin: 10px 0 0 0;
  display:grid;
  gap: 10px;
}
.highlight-list li, .feature-list li{
  display:flex;
  gap: 10px;
  align-items:flex-start;
  color: rgba(0,0,0,0.72);
  line-height: 1.35;
}
.highlight-list li::before, .feature-list li::before{
  content:"";
  width: 8px;
  height: 8px;
  margin-top: 7px;
  border-radius: 999px;
  background: #000;
  opacity: .55;
  flex: 0 0 8px;
}

.app-section .content p{ color: rgba(0,0,0,0.72); }

.app-sticky{ position: sticky; top: 18px; }

/* Gallery */
.app-gallery{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.app-shot{
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 16px;
  overflow:hidden;
  background:#fff;
  padding:0;
  cursor:pointer;
  transition: transform .16s ease, box-shadow .16s ease;
}
.app-shot:hover{
  transform: translateY(-2px);
  box-shadow: 0 18px 50px rgba(0,0,0,0.10);
}
.app-shot img{ width:100%; height:120px; object-fit: cover; display:block; }

/* FAQ */
.faq details{
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 16px;
  padding: 12px 14px;
  background: #fff;
  margin-bottom: 10px;
}
.faq summary{
  cursor:pointer;
  font-weight: 700;
}
.faq .faq-body{
  margin-top: 8px;
  color: rgba(0,0,0,0.70);
}

/* Modal lightbox */
.shot-modal{
  display:none;
}
.shot-modal.is-open{
  display:block;
  position: fixed;
  inset: 0;
  z-index: 1055;
}
.shot-backdrop{
  position:absolute;
  inset:0;
  background: rgba(0,0,0,0.65);
}
.shot-dialog{
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  width: min(1100px, 92vw);
  height: min(720px, 86vh);
  background: #111;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.10);
  box-shadow: 0 30px 90px rgba(0,0,0,0.55);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
#shotModalImg{
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.shot-close{
  position:absolute;
  top: 10px;
  right: 12px;
  width: 38px;
  height: 38px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(255,255,255,0.08);
  color: #fff;
  font-size: 22px;
  line-height: 1;
}
.shot-nav{
  position:absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(255,255,255,0.08);
  color: #fff;
  font-size: 28px;
  line-height: 1;
}
.shot-nav.prev{ left: 12px; }
.shot-nav.next{ right: 12px; }

.how-list{
  margin: 0;
  padding-left: 18px;
  color: rgba(0,0,0,0.70);
}
.how-list li{ margin-bottom: 8px; }

@media (max-width: 991px){
  .app-detail .app-hero{ flex-direction: column; }
  .app-hero-right{ width: 100%; max-width: 100%; }
  .app-sticky{ position: static; }
  .app-gallery{ grid-template-columns: repeat(2, 1fr); }
}


/* v1.20: Premium Contact page */
.contact-hero{
  display:flex;
  align-items:flex-end;
  justify-content: space-between;
  gap: 12px;
  padding: 18px 18px;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 14px 44px rgba(0,0,0,0.08);
}
.contact-cards{
  display:grid;
  gap: 12px;
}
.contact-card-title{
  font-weight: 800;
  margin-bottom: 6px;
}
.contact-link{
  font-weight: 700;
  color: #000;
  text-decoration: none;
  border-bottom: 1px solid rgba(0,0,0,0.14);
}
.contact-link:hover{
  border-bottom-color: rgba(0,0,0,0.45);
}

.contact-bullets{
  list-style: none;
  padding-left: 0;
  margin: 0;
  display:grid;
  gap: 8px;
  color: rgba(0,0,0,0.70);
}
.contact-bullets li{
  display:flex;
  gap: 10px;
  align-items:flex-start;
}
.contact-bullets li::before{
  content:"";
  width: 8px;
  height: 8px;
  margin-top: 7px;
  border-radius: 999px;
  background: #000;
  opacity: .55;
  flex: 0 0 8px;
}

.contact-form-card .form-control{
  border-radius: 12px;
  border-color: rgba(0,0,0,0.14);
  padding: 10px 12px;
}
.contact-form-actions{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 14px;
  flex-wrap: wrap;
}

.contact-success{
  display:flex;
  gap: 12px;
  align-items:flex-start;
  padding: 12px 12px;
  border: 1px solid rgba(0,0,0,0.10);
  border-radius: 16px;
  background: rgba(0,0,0,0.02);
  margin: 10px 0 12px 0;
}
.success-icon{
  width: 34px;
  height: 34px;
  border-radius: 12px;
  background: #000;
  color: #fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight: 900;
}
.success-title{
  font-weight: 800;
}

.contact-mini-note{
  margin-top: 12px;
  color: rgba(0,0,0,0.62);
  font-size: 13px;
}
.linklike{
  background: none;
  border: none;
  padding: 0;
  color: rgba(0,0,0,0.85);
  text-decoration: underline;
}

@media (max-width: 575px){
  .contact-hero{ align-items:flex-start; flex-direction: column; }
}


/* v1.21: Premium static pages (About/Privacy/Terms) */
.page-hero{
  display:flex;
  align-items:flex-end;
  justify-content: space-between;
  gap: 12px;
  padding: 18px 18px;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 14px 44px rgba(0,0,0,0.08);
}
.page-hero-actions{ display:flex; gap: 10px; align-items:center; }

.page-side{
  position: sticky;
  top: 18px;
  border-radius: 18px !important;
}
.side-title{
  font-weight: 800;
  margin-bottom: 10px;
}
.side-links{
  display:grid;
  gap: 8px;
}
.toc-link{
  text-decoration: none;
  color: rgba(0,0,0,0.70);
  border-left: 2px solid rgba(0,0,0,0.10);
  padding-left: 10px;
}
.toc-link:hover{
  color: rgba(0,0,0,0.92);
  border-left-color: rgba(0,0,0,0.35);
}
.toc-h3{
  margin-left: 10px;
  font-size: 13px;
  color: rgba(0,0,0,0.62);
}

.page-content{
  border-radius: 20px !important;
}
.page-content .content{
  color: rgba(0,0,0,0.74);
  line-height: 1.65;
}
.page-content .content h2{
  margin-top: 22px;
  margin-bottom: 10px;
}
.page-content .content h3{
  margin-top: 18px;
  margin-bottom: 8px;
}
.page-content .content p{
  margin-bottom: 12px;
}
.page-content .content ul{
  padding-left: 18px;
}
.page-content .content a{
  color: rgba(0,0,0,0.88);
  text-decoration: underline;
}

.page-cta{
  margin-top: 14px;
}
.page-cta-inner{
  display:flex;
  gap: 18px;
  align-items:center;
  justify-content: space-between;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 20px;
  padding: 18px 18px;
  background: rgba(0,0,0,0.02);
}
@media (max-width: 991px){
  .page-side{ position: static; }
  .page-cta-inner{ flex-direction: column; align-items:flex-start; }
}
@media (max-width: 575px){
  .page-hero{ align-items:flex-start; flex-direction: column; }
}


/* v1.22: Offcanvas App Request premium */
.offcanvas-request{
  width: min(520px, 92vw);
}
.offcanvas-request .offcanvas-header{
  border-bottom: 1px solid rgba(0,0,0,0.08);
  padding: 18px 18px;
}
.offcanvas-eyebrow{
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(0,0,0,0.55);
}
.offcanvas-request .offcanvas-body{
  padding: 18px 18px;
}

.request-steps{
  display:flex;
  gap: 10px;
  align-items:center;
  margin-bottom: 14px;
}
.request-steps .step{
  display:flex;
  gap: 8px;
  align-items:center;
  padding: 7px 10px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,0.10);
  background: rgba(0,0,0,0.02);
  font-size: 13px;
  color: rgba(0,0,0,0.70);
}
.request-steps .step-dot{
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(0,0,0,0.30);
}
.request-steps .step.is-active{
  background: #000;
  border-color: #000;
  color: #fff;
}
.request-steps .step.is-active .step-dot{ background: rgba(255,255,255,0.85); }
.request-steps .step.is-done{
  border-color: rgba(0,0,0,0.14);
}
.request-form .form-control,
.request-form .form-select{
  border-radius: 12px;
  border-color: rgba(0,0,0,0.14);
  padding: 10px 12px;
}
.request-nav{
  margin-top: 14px;
}
.request-nav.two{
  display:flex;
  gap: 10px;
}
.request-nav.two .btn{
  flex: 1 1 auto;
}
.confirm-box{
  border: 1px solid rgba(0,0,0,0.10);
  border-radius: 16px;
  padding: 14px 14px;
  background: rgba(0,0,0,0.02);
}
.confirm-title{
  font-weight: 800;
  margin-bottom: 6px;
}

.request-success{
  display:flex;
  gap: 12px;
  align-items:flex-start;
  padding: 12px 12px;
  border: 1px solid rgba(0,0,0,0.10);
  border-radius: 16px;
  background: rgba(0,0,0,0.02);
  margin: 10px 0 12px 0;
}
.request-success .success-icon{
  width: 34px;
  height: 34px;
  border-radius: 12px;
  background: #000;
  color: #fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight: 900;
}
.request-success .success-title{
  font-weight: 800;
}


/* v1.24: Inner page top headers should be flat (no card look) */
.contact-hero,
.page-hero{
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

.contact-hero{
  padding-bottom: 14px !important;
  border-bottom: 1px solid rgba(0,0,0,0.08) !important;
  margin-bottom: 6px;
}

.page-hero{
  padding-bottom: 14px !important;
  border-bottom: 1px solid rgba(0,0,0,0.08) !important;
  margin-bottom: 8px;
}

/* Keep actions aligned nicely on flat headers */
.contact-hero .btn,
.page-hero .btn{
  border-radius: 999px !important;
}
@media (max-width: 575px){
  .contact-hero, .page-hero{ padding-bottom: 12px !important; }
}


/* v1.25: Reduce top whitespace after navbar on inner pages */
section.container.my-5{
  margin-top: 12px !important; /* default my-5 is ~3rem (48px) */
  margin-bottom: 56px !important;
}

/* Hero pages sometimes create extra gap; tighten further */
.contact-page,
.page-premium,
.app-detail{
  margin-top: 14px !important;
}

/* If a page uses .container.my-5 inside, ensure first block isn't too low */
@media (max-width: 575px){
  section.container.my-5{
    margin-top: 14px !important;
    margin-bottom: 44px !important;
  }
  .contact-page,
  .page-premium,
  .app-detail{
    margin-top: 12px !important;
  }
}


/* v1.28: Navbar active state (clean, removes weird underline artifacts) */
.navbar a::after,
.nav a::after{
  display: none !important; /* disable old underline pseudo elements */
}

.navbar .nav-link{
  padding: 10px 12px;
  border-radius: 999px;
  color: rgba(0,0,0,0.78);
  transition: background-color .14s ease, color .14s ease;
}

.navbar .nav-link:hover{
  background: rgba(0,0,0,0.04);
  color: rgba(0,0,0,0.92);
}

.navbar .nav-link.is-active{
  background: rgba(0,0,0,0.08);
  color: rgba(0,0,0,0.95);
  font-weight: 700;
}


/* v1.30 (Step 3): remove logo background + unify inner headers */
.navbar .navbar-brand{
  background: transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
}
.navbar .navbar-brand.is-active,
.navbar .navbar-brand.active{
  background: transparent !important;
}

/* Make active menu pill work for both .active and .is-active */
.navbar .nav-link.active{
  background: rgba(0,0,0,0.08);
  color: rgba(0,0,0,0.95);
  font-weight: 700;
}

/* Applications header: match flat header system (divider + tight padding) */
.apps-header{
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(0,0,0,0.08);
  margin-bottom: 14px;
}

/* App detail hero: match flat header system (no card chrome) */
.app-detail .app-hero{
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid rgba(0,0,0,0.08) !important;
}
.app-detail .app-hero-right .card{
  border-radius: 18px !important; /* keep highlights as card */
}


/* v1.31 (Step 4): Active menu WITHOUT background */
.navbar .nav-link.is-active,
.navbar .nav-link.active{
  background: transparent !important;
  font-weight: 700;
  color: rgba(0,0,0,0.95) !important;
  box-shadow: inset 0 -2px 0 rgba(0,0,0,0.85);
  border-radius: 0 !important;
}
.navbar .nav-link{
  border-radius: 999px; /* keep hover pill */
}
.navbar .nav-link:hover{
  background: rgba(0,0,0,0.04);
}

/* v1.31: Admin upload previews */
.admin-preview{
  display:flex;
  gap: 12px;
  align-items:center;
  flex-wrap: wrap;
}
.admin-preview .thumb{
  width: 220px;
  height: 90px;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,0.12);
  background: rgba(0,0,0,0.02);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.admin-preview .thumb img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.admin-preview .thumb.logo{
  width: 220px;
  height: 60px;
  background: #fff;
}
.admin-preview .thumb.logo img{
  object-fit: contain;
  padding: 8px;
}
