/* Brand palette and Bootstrap variable overrides */
:root{
  /* Brikly-like green/teal palette */
  --brand-navy:#0b1b35;
  --brand-steel:#374151;
  --brand-primary:#0f766e; /* Teal */
  --brand-primary-dark:#0d6b64;
  --brand-accent:#a3e635; /* Lime */
  --brand-sky:#38bdf8;
  --brand-surface:#f8fafc;
  --brand-muted:#6b7280;
  /* Bootstrap CSS variables */
  --bs-primary:var(--brand-primary);
  --bs-secondary:#64748b;
  --bs-info:var(--brand-sky);
  --bs-success:#22c55e;
  --bs-warning:#f59e0b;
  --bs-danger:#ef4444;
  --bs-body-bg:#ffffff;
  --bs-body-color:#0f172a;
  --bs-border-color:#e5e7eb;
  --bs-link-color:var(--brand-primary);
  --bs-link-hover-color:var(--brand-primary-dark);
}

/* Typography & body */
body{
  background-color:var(--bs-body-bg);
  color:var(--bs-body-color);
  font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
html{scroll-behavior:smooth;scroll-padding-top:80px}
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto} }
h1,h2,h3,.display-4,.display-5{
  font-family:'Manrope','Inter',system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
}
/* Admin global background */
.admin-ui{background:linear-gradient(180deg,#ffffff, #f8fafc)}
.admin-ui::before{content:"";position:fixed;inset:-10%;pointer-events:none;z-index:-1;
  background:
    radial-gradient(600px 280px at 10% 20%, rgba(163,230,53,.07), transparent 60%),
    radial-gradient(600px 280px at 90% 10%, rgba(56,189,248,.06), transparent 60%),
    radial-gradient(500px 260px at 30% 90%, rgba(15,118,110,.06), transparent 60%);
  filter:saturate(120%);
  animation: adminBackdropShift 16s ease-in-out infinite alternate;
}
@keyframes adminBackdropShift{
  0%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(8px,-6px,0)}
  100%{transform:translate3d(0,0,0)}
}
h1,h2,h3,.display-4,.display-5{
  font-family:'Manrope','Inter',system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
}
.section-title{color:#111827;position:relative;letter-spacing:.2px}
.section-title::after{content:"";display:block;width:64px;height:3px;margin-top:.5rem;background:linear-gradient(90deg,var(--brand-primary),var(--brand-accent));border-radius:3px}

/* Navbar */
.navbar{
  background:rgba(255,255,255,.82);
  border-bottom:1px solid var(--bs-border-color);
  backdrop-filter:saturate(180%) blur(10px);
}
.navbar.navbar-transparent{
  /* Pure transparent at top — crisp over hero */
  background:transparent;
  border-bottom-color:transparent;
  box-shadow:none;
  backdrop-filter:none;
}
.navbar.navbar-transparent .nav-link,
.navbar.navbar-transparent .nav-link:hover,
.navbar.navbar-transparent .nav-link.active,
.navbar.navbar-transparent .navbar-brand,
.navbar.navbar-transparent .dropdown-toggle{
  color:#ffffff !important;
  text-shadow:0 1px 2px rgba(0,0,0,.35);
}
.navbar.navbar-transparent .logo-text{color:#ffffff!important;text-shadow:0 1px 2px rgba(0,0,0,.35)}
.navbar.navbar-transparent .nav-link::after{background:linear-gradient(90deg,var(--brand-accent),#84cc16)}
.navbar.navbar-transparent .btn-outline-primary{color:#fff!important;border-color:#ffffff99!important}
.navbar.navbar-transparent .btn-outline-primary:hover{background:#ffffff20!important;color:#fff!important;border-color:#ffffffcc!important}
.navbar.navbar-transparent .navbar-toggler{border-color:#ffffff80}
.navbar.navbar-transparent .navbar-toggler-icon{
  background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255,255,255,0.9)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
.navbar.navbar-solid{
  background:rgba(255,255,255,.82);
  border-bottom:1px solid var(--bs-border-color);
  backdrop-filter:saturate(180%) blur(10px);
}
.navbar .navbar-nav{gap:1.1rem}
@media (min-width: 992px){
  .navbar .navbar-nav{gap:1.5rem}
}
.navbar .nav-link{color:#0f172a;transition:color .2s ease;position:relative;padding:.5rem .75rem}
.navbar .nav-link:hover{color:var(--bs-link-hover-color)}
.navbar .nav-link.active{color:var(--bs-primary)!important;font-weight:600}
/* Underline animation for nav links */
.navbar .nav-link::after{content:"";position:absolute;left:.5rem;right:.5rem;bottom:2px;height:2px;background:linear-gradient(90deg,var(--brand-primary),var(--brand-accent));transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
.navbar .nav-link:hover::after,.navbar .nav-link.active::after{transform:scaleX(1)}
.navbar .dropdown-menu{border-radius:.5rem;border:1px solid var(--bs-border-color);box-shadow:0 .75rem 2rem rgba(0,0,0,.08);min-width:220px}
.navbar .dropdown-item .bi{margin-right:.5rem;opacity:.85}
.navbar .nav-link.dropdown-toggle .bi{margin-right:.35rem;opacity:.85}
.navbar-brand{letter-spacing:.4px}
.navbar .btn{transition:transform .2s ease, box-shadow .2s ease}
.navbar .btn:hover{transform:translateY(-1px);box-shadow:0 .5rem 1.25rem rgba(0,0,0,.08)}

/* Admin dashboard hero */
.admin-hero{position:relative;color:#fff;background:linear-gradient(135deg,#0e5a52,#033a35);overflow:hidden}
.admin-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(800px 400px at 5% 20%,rgba(255,255,255,.15),transparent 60%),radial-gradient(600px 300px at 95% 10%,rgba(255,255,255,.12),transparent 60%);animation:floatA 12s ease-in-out infinite}
.admin-hero::after{content:"";position:absolute;left:35%;top:40%;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(163,230,53,.25) 0,rgba(163,230,53,.12) 60%,transparent 61%);filter:blur(1px);animation:glowPulse 7s ease-in-out infinite}
.admin-hero .btn{border-radius:.6rem}

/* Metric cards animation */
.metric-card{border:1px solid var(--bs-border-color)}
.metric-card .label{font-size:.75rem;letter-spacing:.08em;color:#64748b}
.metric-card .value{font-size:1.75rem;font-weight:800;color:#111827}
.metric-card .icon-wrap{font-size:1.6rem;color:#0ea5e9;opacity:.85}
.metric-card{animation:riseIn .5s ease both}
.metric-card:nth-child(2){animation-delay:.05s}
.metric-card:nth-child(3){animation-delay:.1s}
.metric-card:nth-child(4){animation-delay:.15s}
.metric-card:hover{transform:translateY(-2px);box-shadow:0 .75rem 1.5rem rgba(0,0,0,.08)}
@keyframes riseIn{0%{opacity:0;transform:translateY(10px)}100%{opacity:1;transform:translateY(0)}}

/* Chart cards subtle entry */
.chart-card{animation:riseIn .6s ease both}
.chart-card .card-body{position:relative}
.chart-card .card-body::after{content:"";position:absolute;inset:0;border-radius:.75rem;border:1px solid rgba(2,6,23,.04)}

/* Hero */
.hero{
  background:linear-gradient(135deg,#0e5a52 0%,#033a35 100%);
  min-height:82vh;position:relative;overflow:hidden;display:flex;align-items:center;
}
.hero::after{
  content:"";position:absolute;inset:0;
  background:radial-gradient(1200px 600px at 85% -10%,rgba(255,255,255,.18),transparent 60%),
             radial-gradient(800px 400px at -10% 110%,rgba(255,255,255,.1),transparent 60%),
             linear-gradient(0deg,rgba(255,255,255,.06),rgba(255,255,255,.0));
  pointer-events:none
}
.hero .overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.12),rgba(0,0,0,.12));z-index:1}
.hero .content{position:relative;z-index:2;padding:6rem 0}
.hero .display-5{color:#fff;letter-spacing:.4px}
.hero .lead{color:#e5e7eb}
/* Emphasize hero CTAs */
.hero .btn{padding:.9rem 1.25rem;font-size:1rem;border-radius:.7rem;box-shadow:0 .6rem 1.2rem rgba(0,0,0,.08)}
.hero .btn-lg{padding:1.05rem 1.4rem;font-size:1.05rem}
.hero .btn + .btn{margin-left:.5rem}
.hero .btn-outline-primary{background:rgba(255,255,255,.08)}
html[data-theme="dark"] .hero .btn-outline-primary{background:rgba(255,255,255,.06)}
.hero .btn-light{background:#fff;border-color:#fff}
.hero .btn-outline-light{color:#fff;border-color:#ffffff80}
.hero .btn-outline-light:hover{background:#ffffff1a;border-color:#fff;color:#fff}
.hero .hero-badges{margin-top:1.25rem;gap:.5rem}
.chip{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .6rem;border-radius:999px;background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.25);font-size:.85rem}
.chip .bi{opacity:.9}
.overline-badge{display:inline-block;padding:.25rem .6rem;border-radius:999px;background:rgba(255,255,255,.18);color:#fff;font-size:.75rem;font-weight:700;letter-spacing:.08em}
.hero-title{font-weight:800;line-height:1.05}
.hero-illustration{position:relative}
.hero-illustration img{box-shadow:0 1.25rem 2.5rem rgba(0,0,0,.25);border-radius:.75rem;aspect-ratio:16/9;object-fit:cover;width:100%}
.hero-illustration::before{content:"";position:absolute;inset:-6%;border:2px dashed rgba(255,255,255,.25);border-radius:1rem;transform:rotate(-2deg)}

/* Buttons */
.btn{border-radius:.6rem}
.btn-primary{
  background:linear-gradient(180deg,var(--bs-primary),var(--brand-primary-dark));
  border-color:var(--bs-primary)
}
.btn-primary:hover{filter:brightness(1.04)}
.btn-outline-primary{color:var(--bs-primary);border-color:var(--bs-primary)}
.btn-outline-primary:hover{background-color:var(--bs-primary);border-color:var(--bs-primary);color:#fff}
/* Accent CTA button */
.btn-accent{background:linear-gradient(90deg,var(--brand-accent),#84cc16);border-color:transparent;color:#0f172a;font-weight:800;box-shadow:0 .6rem 1.2rem rgba(163,230,53,.25);border-radius:999px;padding:.6rem 1.25rem;letter-spacing:.06em;text-transform:uppercase}
.btn-accent:hover{filter:brightness(1.03);box-shadow:0 .8rem 1.6rem rgba(163,230,53,.3)}
/* Section overline label */
.section-overline{font-size:.75rem;letter-spacing:.12em;font-weight:700;color:var(--brand-muted)}
/* Optional inline overline via data-label on section-title */
.section-title[data-label]{position:relative}
.section-title[data-label]::before{content:attr(data-label);display:block;font-size:.75rem;letter-spacing:.12em;font-weight:700;color:var(--brand-muted);margin-bottom:.25rem}

/* Cards */
.card{border:1px solid var(--bs-border-color);transition:transform .2s ease, box-shadow .2s ease}
.card .card-title{color:#111827}
.card .card-text{color:var(--brand-steel)}
.card:hover{transform:translateY(-4px);box-shadow:0 1rem 2rem rgba(0,0,0,.08)}
.card .card-img-top{aspect-ratio:16/9;object-fit:cover;width:100%}
.feature-card{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:.9rem;box-shadow:0 .75rem 2rem rgba(0,0,0,.06)}

.footer{
  background:rgba(255,255,255,.82);
  border-top:1px solid var(--bs-border-color);
  backdrop-filter:saturate(180%) blur(10px);
  box-shadow:0 -0.75rem 2rem rgba(0,0,0,.06);
}
.footer a{color:var(--bs-link-color)}
.footer a:hover{color:var(--bs-link-hover-color)}
/* Ensure footer buttons remain readable and don't wrap awkwardly */
.footer .btn{white-space:nowrap}
.footer .btn-outline-primary{color:var(--bs-primary)!important;border-color:var(--bs-primary)!important}
.footer .btn-outline-primary:hover{color:#fff!important;background-color:var(--bs-primary)!important;border-color:var(--bs-primary)!important}
/* Prevent link text from breaking mid-word; allow items to wrap cleanly */
.footer .d-flex.flex-wrap a.text-decoration-none{white-space:nowrap}

/* Utility */
.quick-links .icon{background:rgba(37,99,235,.12);color:var(--bs-primary)}
.quick-links>.icon{width:48px;height:48px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 .5rem 1rem rgba(0,0,0,.06)}
.quick-links>.icon .bi{font-size:1.35rem}
.filter-pill.active{background:var(--bs-primary);color:#fff}
.get-in-touch-btn{background:var(--brand-accent);border-color:var(--brand-accent);box-shadow:0 .5rem 1rem rgba(163,230,53,.25);color:#0f172a}
.get-in-touch-btn:hover{background:#84cc16;border-color:#84cc16;color:#0f172a}
.text-accent{color:var(--brand-accent)!important}
.logo-mark{font-size:1.25rem}
/* Ensure brand text uses site primary (teal), not Bootstrap default blue */
.logo-text{color:var(--brand-primary)!important}
.navbar-brand:hover .logo-text{color:var(--brand-primary-dark)!important}
.logo-img{display:block;height:28px;width:auto;object-fit:contain;border-radius:.25rem}
/* Guard override for any remaining text-primary usage */
.text-primary{color:var(--brand-primary)!important}
.list-check{list-style:none;padding-left:0;margin:0}
.list-check li{display:flex;align-items:center;gap:.5rem;color:var(--brand-steel)}
.list-check .bi{color:var(--brand-primary)}

/* Forms */
.form-control{border-color:var(--bs-border-color)}
.form-control:focus{border-color:var(--bs-primary);box-shadow:0 0 0 .25rem rgba(37,99,235,.15)}

/* Animations */
.fade-in{will-change:transform,opacity}
.fade-in{opacity:0;transform:translateY(12px);transition:transform .45s ease, opacity .45s ease}
.fade-in.visible{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){
  .fade-in{transition:none}
  .card,.navbar .btn{transition:none}
}

/* Restore useful existing utility styles */
.navbar-brand{letter-spacing:.5px}

/* Toasts */
.toast-container{z-index:1080;display:flex;flex-direction:column;align-items:center;gap:.5rem}
.toast{border-radius:.6rem;box-shadow:0 .75rem 1.5rem rgba(0,0,0,.12);overflow:hidden;width:auto;max-width:min(90vw,600px)}
.toast .toast-body{font-weight:500;white-space:normal;word-break:break-word;padding:.75rem 1rem}
.hero h1{font-weight:800}
.hero .btn-group .btn{margin-right:.5rem}
.card:hover{transform:translateY(-3px);box-shadow:0 0.75rem 2rem rgba(0,0,0,.08);transition:all .25s ease}
.quick-links .icon{width:48px;height:48px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}
.get-in-touch-btn{position:fixed;right:16px;bottom:16px;border-radius:999px;padding:.6rem .9rem;z-index:9999}
figure.project{position:relative}
figure.project img{border-radius:.5rem;aspect-ratio:16/9;object-fit:cover;width:100%}
figure.project figcaption{position:absolute;left:0;right:0;bottom:0;padding:.75rem 1rem;background:linear-gradient(180deg,transparent,rgba(0,0,0,.6));color:#fff;border-bottom-left-radius:.5rem;border-bottom-right-radius:.5rem}
.invalid-feedback{display:none}
.is-invalid~.invalid-feedback{display:block}

/* Typography scale */
h1,.display-4{font-weight:800;letter-spacing:.2px}
h2{font-weight:700;letter-spacing:.15px}
h3{font-weight:600;letter-spacing:.1px}
.lead{color:var(--brand-steel);max-width:65ch}

/* Gradient text utility */
.brand-gradient{background:linear-gradient(90deg,#fff,#c7d2fe);-webkit-background-clip:text;background-clip:text;color:transparent}

/* Spacing refinements */
.section-title{margin-bottom:.75rem}
.section-title+p{color:var(--brand-steel)}
.container .row+.row{margin-top:1.25rem}

/* Button radius */
.btn{border-radius:.5rem}

/* Card footer subtle style */
.card .card-footer{background:#fafafa;border-top:1px solid var(--bs-border-color)}

/* Team section utilities */
.avatar-lg{width:96px;height:96px;object-fit:cover}
.border-accent{border-color:var(--brand-accent)!important}
.team-card{border:1px solid var(--bs-border-color)}

/* Image fit utilities and section-specific rules */
.img-cover{width:100%;height:100%;object-fit:cover;display:block}
.img-contain{width:100%;height:100%;object-fit:contain;display:block}
.about-brand-img{width:100%;aspect-ratio:3/2;object-fit:cover}
article .post-image{width:100%;aspect-ratio:16/9;object-fit:cover}

/* Manual theme override via data-theme */
:root[data-theme="light"]{
  --brand-primary:#0f766e;
  --bs-body-bg:#ffffff;
  --bs-body-color:#0f172a;
  --bs-border-color:#e5e7eb;
  --bs-link-color:#0f766e;
  --bs-link-hover-color:#0d6b64;
}
:root[data-theme="dark"]{
  --brand-primary:#2dd4bf;
  --bs-body-bg:#0b1220;
  --bs-body-color:#e5e7eb;
  --bs-border-color:#1f2937;
  --bs-link-color:#2dd4bf;
  --bs-link-hover-color:#99f6e4;
  --brand-muted:#94a3b8;
}
html[data-theme="dark"] body{background-color:var(--bs-body-bg);color:var(--bs-body-color)}
html[data-theme="dark"] .navbar{background:rgba(11,27,53,.72);border-bottom-color:var(--bs-border-color);backdrop-filter:saturate(180%) blur(8px)}
html[data-theme="dark"] .navbar .nav-link{color:var(--bs-body-color)}
html[data-theme="dark"] .navbar .nav-link:hover{color:var(--bs-link-hover-color)}
html[data-theme="dark"] .navbar .dropdown-menu{background:#0f172a;border-color:var(--bs-border-color)}
html[data-theme="dark"] .hero{background:linear-gradient(135deg,#064e47 0%,#042c29 100%)}
html[data-theme="dark"] .hero .overlay{background:linear-gradient(0deg,rgba(0,0,0,.25),rgba(0,0,0,.25))}
html[data-theme="dark"] .chip{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.18);color:#fff}
html[data-theme="dark"] .hero-illustration::before{border-color:rgba(255,255,255,.18)}
html[data-theme="dark"] .section-title{color:var(--bs-body-color)}
html[data-theme="dark"] .card{background:#0f172a;border-color:var(--bs-border-color)}
html[data-theme="dark"] .card .card-title{color:#e5e7eb}
html[data-theme="dark"] .card .card-text{color:#cbd5e1}
html[data-theme="dark"] .card .card-footer{background:#0b1628;border-top-color:var(--bs-border-color)}
html[data-theme="dark"] .footer{
  background:rgba(11,27,53,.72);
  border-top:1px solid var(--bs-border-color);
  backdrop-filter:saturate(180%) blur(8px);
  box-shadow:0 -0.75rem 2rem rgba(0,0,0,.12)
}
html[data-theme="dark"] .footer a{color:var(--bs-link-color)}
html[data-theme="dark"] .quick-links .icon{background:rgba(96,165,250,.14);color:var(--brand-primary)}
html[data-theme="dark"] .quick-links>.icon{border-radius:12px;box-shadow:0 .6rem 1.2rem rgba(0,0,0,.2)}
html[data-theme="dark"] .form-control{background:#0f172a;color:var(--bs-body-color);border-color:var(--bs-border-color)}
html[data-theme="dark"] .form-control::placeholder{color:#9ca3af}

html[data-theme="dark"] .text-muted{color:#94a3b8 !important}
html[data-theme="dark"] .text-secondary{color:#94a3b8 !important}
html[data-theme="dark"] .bg-white, html[data-theme="dark"] .bg-light{color:#0f172a}
html[data-theme="dark"] .bg-white .text-muted, html[data-theme="dark"] .bg-light .text-muted{color:#64748b !important}

/* Home merged footer contact section */
.home-footer-contact{background:linear-gradient(180deg,#0b2830 0%,#082b2c 50%,#072123 100%);color:#e5e7eb;position:relative;overflow:hidden}
.home-footer-contact .section-title{margin-bottom:.75rem;}
.home-footer-contact .section-overline{color:var(--brand-muted);}
.home-footer-contact .social-icons a{transition:opacity .2s ease, transform .2s ease;color:#e5e7eb}
.home-footer-contact .social-icons a:hover{opacity:1;transform:translateY(-2px);color:var(--brand-accent)}
.home-footer-contact a{color:#cfe7e7;text-decoration:none}
.home-footer-contact a:hover{color:var(--brand-accent)}
.home-footer-contact .footer-links a{color:#cfe7e7;background-image:linear-gradient(currentColor,currentColor);background-size:0 1px;background-position:0 100%;background-repeat:no-repeat;transition:background-size .2s ease,color .2s ease}
.home-footer-contact .footer-links a:hover{background-size:100% 1px;color:var(--brand-accent)}
/* Ensure muted text (e.g., phone/address) is readable on dark footer */
.home-footer-contact .text-muted{color:#cfe7e7 !important}
/* Decorative wave highlight at the top */
.home-footer-contact::before{content:"";position:absolute;left:0;right:0;top:-60px;height:140px;background:radial-gradient(120% 80% at 50% 100%,rgba(163,230,53,.18),transparent 60%);pointer-events:none}
/* Accent CTA panel */
.home-footer-contact .cta-panel{background:linear-gradient(90deg,var(--brand-accent),#84cc16);color:#0b1b35;border-radius:1rem;padding:2rem;box-shadow:0 .75rem 2rem rgba(0,0,0,.25)}
.home-footer-contact .btn-cta{background:#0b1b35;color:#fff;border-radius:999px;padding:.75rem 1.25rem;border:0;box-shadow:0 .35rem 1rem rgba(0,0,0,.25)}
.home-footer-contact .btn-cta:hover{background:#132542;color:#fff}
/* Column and contact info styling */
.home-footer-contact .footer-columns h6{color:#fff;font-weight:700}
.home-footer-contact .footer-columns ul{list-style:none;margin:0;padding:0}
.home-footer-contact .footer-columns li{margin:.35rem 0}
.home-footer-contact .info-item{display:flex;align-items:center;gap:.65rem}
.home-footer-contact .info-icon{width:38px;height:38px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.12);color:var(--brand-accent);box-shadow:inset 0 0 0 2px rgba(255,255,255,.12)}
.home-footer-contact .copyright-bar{border-top:1px solid rgba(255,255,255,.12);padding-top:1rem}
/* Scroll to top link micro-interaction */
.home-footer-contact .scroll-top{display:inline-flex;align-items:center;gap:.35rem;color:#cfe7e7}
.home-footer-contact .scroll-top .bi{transition:transform .2s ease}
.home-footer-contact .scroll-top:hover .bi{transform:translateY(-2px)}
@media (max-width: 767.98px){
  .home-footer-contact .section-title,.home-footer-contact .section-overline{text-align:center;}
  .home-footer-contact img{display:block;margin-left:auto;margin-right:auto;}
}
html[data-theme="dark"] .form-control:focus{border-color:var(--brand-primary);box-shadow:0 0 0 .25rem rgba(96,165,250,.2)}
html[data-theme="dark"] .filter-pill.active{background:var(--brand-primary);color:#fff}

/* Admin dashboard styles */
.admin-hero{background:linear-gradient(135deg,var(--brand-primary),#064e47);color:#fff;position:relative;overflow:hidden}
.admin-hero::after{content:"";position:absolute;inset:0;background:radial-gradient(1200px 600px at 85% -10%,rgba(255,255,255,.18),transparent 60%),radial-gradient(800px 400px at -10% 110%,rgba(255,255,255,.1),transparent 60%);pointer-events:none}

.metric-card.card{border:none;background:linear-gradient(180deg,var(--brand-primary),var(--brand-primary-dark));color:#fff}
.metric-card.card:hover{filter:brightness(1.02);box-shadow:0 1rem 2rem rgba(0,0,0,.12)}
.metric-card .icon-wrap{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.18);color:#fff}
.metric-card .label{color:#fff}
.metric-card .value{color:#fff}
.metric-card .label{font-size:.875rem;opacity:.85}
.metric-card .value{font-size:2.25rem;font-weight:800;letter-spacing:.25px}
.metric-card .badge{border-radius:999px}

/* Status badges */
.status-badge{border-radius:999px;padding:.15rem .5rem;font-size:.75rem;font-weight:600}
.status-new{background:rgba(245,158,11,.18);color:#f59e0b}
.status-pending{background:rgba(2,132,199,.18);color:#0284c7}
.status-resolved{background:rgba(34,197,94,.18);color:#22c55e}
.status-published{background:rgba(34,197,94,.18);color:#22c55e}
.status-draft{background:rgba(99,102,241,.18);color:#6366f1}
.status-rejected{background:rgba(239,68,68,.2);color:#ef4444}

/* Dark mode tweaks for admin */
html[data-theme="dark"] .admin-hero{background:linear-gradient(135deg,#0b1b35,#0b1220)}
html[data-theme="dark"] .metric-card.card{background:linear-gradient(180deg,var(--brand-primary),#0b1b35)}
html[data-theme="dark"] .metric-card .icon-wrap{background:rgba(255,255,255,.12)}
html[data-theme="dark"] .admin-hero .text-white-50{color:rgba(255,255,255,.78)!important}
/* Admin sidebar */
.admin-sidebar{position:sticky;top:80px;background:rgba(255,255,255,.82);backdrop-filter:saturate(180%) blur(8px);border:1px solid var(--bs-border-color);border-radius:.75rem;padding:1rem;box-shadow:0 .75rem 2rem rgba(0,0,0,.06);max-height:calc(100vh - 100px);overflow-y:auto;overflow-x:hidden}
.admin-sidebar .nav{gap:.25rem}
.admin-sidebar .nav-link{color:var(--bs-body-color);border-radius:.5rem;padding:.5rem .75rem;display:flex;align-items:center;gap:.5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.95rem}
.admin-sidebar .nav-link:hover{background:rgba(0,0,0,.04);color:var(--bs-body-color)}
.admin-sidebar .nav-link.active{background:var(--brand-primary);color:#fff}
.admin-sidebar .nav-link .bi{color:inherit}
html[data-theme="dark"] .admin-sidebar{background:rgba(11,27,53,.72);border-color:var(--bs-border-color)}
html[data-theme="dark"] .admin-sidebar .nav-link:hover{background:rgba(255,255,255,.06)}

/* Services section card and CTA enhancements */
.service-card{border:none;border-radius:.75rem;box-shadow:0 .75rem 2rem rgba(0,0,0,.08);transition:transform .2s ease, box-shadow .2s ease}
.service-card:hover{transform:translateY(-4px);box-shadow:0 1.25rem 2.5rem rgba(0,0,0,.12)}
.service-card .card-img-top{aspect-ratio:16/9;object-fit:cover;border-top-left-radius:.75rem;border-top-right-radius:.75rem}
.service-card:hover .card-img-top{filter:saturate(1.05) contrast(1.02)}
.service-card .card-body{display:flex;flex-direction:column}
.service-card .cta-link{display:inline-flex;align-items:center;gap:.4rem;color:var(--brand-primary, #0b1b35);font-weight:700;text-decoration:none;background-image:linear-gradient(var(--brand-accent, #22c55e), var(--brand-accent, #22c55e));background-size:0 2px;background-position:0 100%;background-repeat:no-repeat;transition:color .2s ease, background-size .2s ease, transform .2s ease}
.service-card .cta-link:hover{color:var(--brand-accent, #22c55e);background-size:100% 2px;transform:translateX(2px)}
.service-card .cta-link .bi{transition:transform .2s ease}
.service-card .cta-link:hover .bi{transform:translateX(3px)}
@media (max-width: 575.98px){
  /* two-up grid on small screens becomes single column gracefully */
  #services .row.g-4{row-gap:1.25rem}
}

/* Testimonials redesign */
.testimonials-section .section-overline{color:var(--brand-muted)}
.testimonial-card.card{border:1px solid var(--bs-border-color);border-radius:.9rem;box-shadow:0 .75rem 2rem rgba(0,0,0,.06);position:relative}
.testimonial-card .card-body{padding:1.25rem}
.testimonial-card .stars{color:var(--bs-warning);font-size:1rem}
.testimonial-card .quote-mark{position:absolute;top:.85rem;right:.95rem;color:#94a3af;opacity:.7;font-size:1.25rem}
.testimonial-card .message{color:var(--brand-steel);margin:.75rem 0 1rem 0}
.testimonial-card .author{display:flex;align-items:center;gap:.6rem}
.testimonial-card .author img{width:40px;height:40px;object-fit:cover;border-radius:50%;box-shadow:0 .3rem .8rem rgba(0,0,0,.08)}
.testimonial-card .author .name{font-weight:700;color:#111827}
html[data-theme="dark"] .testimonial-card .author .name{color:#e5e7eb}
.testimonial-card:hover{transform:translateY(-3px);box-shadow:0 1rem 2rem rgba(0,0,0,.1)}

/* Dark mode for testimonials */
html[data-theme="dark"] .testimonial-card.card{background:#0f172a;border-color:var(--bs-border-color)}
html[data-theme="dark"] .testimonial-card .quote-mark{color:#64748b;opacity:.8}
html[data-theme="dark"] .testimonial-card .message{color:#cbd5e1}

/* Contact page enhancements */
.contact-card{border:none;border-radius:.75rem;box-shadow:0 .75rem 2rem rgba(0,0,0,.08);height:100%}
.contact-icon{width:42px;height:42px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:rgba(0,0,0,.05);color:var(--brand-primary)}
.contact-card .list-unstyled .bi{opacity:.9}
.contact-cta{background:linear-gradient(135deg,var(--brand-primary),var(--brand-primary-dark));color:#fff;border-radius:1rem;padding:1rem 1.25rem}
html[data-theme="dark"] .contact-card{background:#0f172a;border-color:var(--bs-border-color)}
html[data-theme="dark"] .contact-icon{background:rgba(255,255,255,.08);color:#99f6e4}

/* Creative map card with gradient border and overlay */
.map-card{background:linear-gradient(#fff,#fff) padding-box,linear-gradient(90deg,var(--brand-primary),var(--brand-accent)) border-box;border:2px solid transparent;border-radius:1rem;box-shadow:0 .9rem 2rem rgba(0,0,0,.1);min-height:420px}
.map-card .ratio{height:100%}
.map-overlay{position:absolute;left:1rem;right:1rem;bottom:1rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem}
.map-badge{display:inline-flex;align-items:center;gap:.35rem;background:rgba(255,255,255,.9);color:#0f172a;border-radius:999px;padding:.35rem .6rem;font-weight:700;box-shadow:0 .35rem 1rem rgba(0,0,0,.15)}
html[data-theme="dark"] .map-badge{background:rgba(11,27,53,.9);color:#e5e7eb;border:1px solid var(--bs-border-color)}
html[data-theme="dark"] .map-card{background:linear-gradient(#0f172a,#0f172a) padding-box,linear-gradient(90deg,var(--brand-primary),var(--brand-accent)) border-box}

/* About page scoped styles */
.chip-brand{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .6rem;border-radius:999px;font-size:.85rem;color:var(--brand-primary);background:rgba(13,110,253,.08);background:rgba(15,118,110,.08);border:1px solid rgba(15,118,110,.18)}
.chip-brand .bi{opacity:.9}

.about-stat{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;padding:.75rem 1rem;border-radius:12px;min-width:120px;background:linear-gradient(180deg, rgba(15,118,110,.08), rgba(15,118,110,.03));border:1px solid rgba(15,118,110,.18);box-shadow:inset 0 1px rgba(255,255,255,.4)}
.about-stat .value{font-weight:800;font-size:1.35rem;line-height:1;color:var(--brand-primary)}
.about-stat .label{font-size:.8rem;color:var(--brand-muted)}

.about-cta{background:linear-gradient(90deg,var(--brand-primary),#0b1b35);color:#fff;border:none}
.about-cta .btn{--bs-btn-color:#0b1b35;--bs-btn-bg:#fff;--bs-btn-border-color:#fff;--bs-btn-hover-bg:#f3f4f6}

/* Dark theme variants */
html[data-theme="dark"] .chip-brand{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:#e5e7eb}
html[data-theme="dark"] .about-stat{background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));border-color:var(--bs-border-color)}
html[data-theme="dark"] .about-cta{background:linear-gradient(90deg,#0b1b35,#0b1220)}

/* Blog page enhancements */
.blog-hero{background:linear-gradient(180deg, #f8fafc, #ffffff);border-bottom:1px solid var(--bs-border-color)}
.blog-card .card-img-top{aspect-ratio:16/9;object-fit:cover}
.blog-card-list .img-cover{min-height:180px}
.post-meta .dot{margin:0 .35rem;opacity:.6}
.featured-post.card{border:none;border-radius:.9rem;overflow:hidden;box-shadow:0 .9rem 2rem rgba(0,0,0,.08)}
@media (max-width: 575.98px){
  .hero .display-3{font-size:2rem;line-height:1.2}
  .hero .lead{font-size:1rem}
  .hero .btn-group{display:flex;flex-wrap:wrap;gap:.5rem}
  .hero .btn-group .btn{flex:1 1 100%}
  .blog-card-list .img-cover{min-height:140px}
  .dashboard-analytics .chart-card{min-height:220px}
  .dashboard-analytics .chart-card canvas{max-height:180px}
  .map-card{min-height:320px}
  .section-title{font-size:1.35rem}
  .logo-img{height:24px}
  .navbar .dropdown-menu{min-width:100%}
  .get-in-touch-btn{right:12px;bottom:calc(12px + env(safe-area-inset-bottom, 0px))}
}
@media (max-width: 767.98px){
  .navbar .navbar-nav{gap:.75rem}
  .service-card .cta-link{font-size:.95rem}
  .about-brand-img{aspect-ratio:auto}
  .map-overlay{flex-direction:column;align-items:flex-start;gap:.5rem}
}
@media (max-width: 991.98px){
  .admin-sidebar{position:static;top:auto}
  .auth-hero{min-height:300px}
}
.table code{word-break:break-all}
.featured-post .card-body{background:linear-gradient(180deg,#ffffff,#f8fafc)}
html[data-theme="dark"] .blog-hero{background:linear-gradient(180deg,#0b1b35,#0b1220);border-bottom-color:var(--bs-border-color)}
html[data-theme="dark"] .featured-post .card-body{background:linear-gradient(180deg,#0f172a,#0b1220)}

/* Admin dashboard analytics redesign */
.dashboard-analytics .card{border:0;border-radius:12px}
.dashboard-analytics .kpi-card .label{font-size:.85rem}
.dashboard-analytics .kpi-card .value{font-weight:700;font-size:1.5rem}
.dashboard-analytics .chart-card{min-height:260px}
.dashboard-analytics .chart-card canvas{max-height:220px}

/* Products - minimal styling for cards and order modal */
.product-card{border:1px solid var(--bs-border-color); border-radius:1rem; overflow:hidden; transition:transform .2s ease, box-shadow .2s ease}
.product-card:hover{transform:translateY(-2px); box-shadow:0 .8rem 1.6rem rgba(16,24,40,.08)}
.product-card .card-img-top{border-top-left-radius:1rem; border-top-right-radius:1rem}
.product-card .card-title{font-weight:700}
.product-card .badge{font-weight:600}
#orderModal .modal-content{border-radius:1rem}
#orderModal .modal-title{font-weight:700}
/* =============================================
   Auth (Login) Layout inspired by provided design
   ============================================= */
.auth-section{padding:3rem 0}
.auth-section.creative{position:relative}
.auth-section.creative::before{content:"";position:absolute;inset:0;background:radial-gradient(1200px 600px at 10% 20%, rgba(163,230,53,.08), transparent 60%), radial-gradient(900px 500px at 90% 10%, rgba(59,130,246,.08), transparent 60%), radial-gradient(700px 400px at 30% 90%, rgba(244,63,94,.07), transparent 60%);pointer-events:none}
.auth-panel{display:grid;grid-template-columns:1.15fr 1fr;border:1px solid var(--bs-border-color);border-radius:1rem;overflow:hidden;background:#fff;box-shadow:0 1.25rem 2.5rem rgba(0,0,0,.06)}
@media (max-width: 991.98px){.auth-panel{grid-template-columns:1fr}}
.auth-section .container{max-width:980px}
.auth-hero{position:relative;min-height:380px;background:linear-gradient(135deg,var(--brand-primary-dark),var(--brand-primary));color:#fff;display:flex;align-items:center;overflow:hidden;animation:gradientShift 9s ease-in-out infinite alternate}
.auth-hero .content{position:relative;z-index:2;padding:2rem 2.5rem}
.auth-hero h1{font-weight:800;letter-spacing:.04em;margin-bottom:.35rem}
.auth-hero .subtitle{text-transform:uppercase;letter-spacing:.12em;font-weight:700;opacity:.9}
.auth-hero p{color:#e5e7eb;max-width:48ch}
/* Decorative radial shapes */
.auth-hero::before{content:"";position:absolute;left:-80px;bottom:-80px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.25),rgba(255,255,255,.08) 60%,transparent 61%);animation:floatA 12s ease-in-out infinite}
.auth-hero::after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.18),rgba(255,255,255,.06) 65%,transparent 66%);animation:floatB 10s ease-in-out infinite}
.auth-hero .ring{position:absolute;left:30%;bottom:14%;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(163,230,53,.28) 0,rgba(163,230,53,.14) 60%,transparent 61%);filter:blur(1px);animation:glowPulse 6s ease-in-out infinite}
.auth-card{padding:2rem 2rem}
@media (min-width: 992px){.auth-card{padding:2.25rem 2.5rem}}
.auth-card .form-label{font-weight:600;color:#1f2937}
.auth-card .text-muted{color:#6b7280!important}
.auth-section.creative .auth-card{animation:riseIn .4s ease both .1s}
.input-with-toggle{position:relative}
.input-with-toggle .toggle-visibility{font-size:1rem;letter-spacing:0;font-weight:600;color:var(--brand-steel);cursor:pointer;user-select:none;background:transparent;border:none;padding:0;line-height:1}
.input-with-toggle .toggle-visibility .bi{font-size:1.1rem;opacity:.8}
.input-with-toggle .toggle-visibility:hover .bi{opacity:1}
/* Ensure icon sits inside the input field */
.password-field{position:relative}
.password-field .toggle-visibility{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);}
.password-field .form-control{padding-right:2.25rem}
/* Hide native browser reveal/clear icons to prevent double icons */
.password-field input[type=password]::-ms-reveal,
.password-field input[type=password]::-ms-clear{display:none!important}
/* Chrome/Safari password manager decoration buttons */
.password-field input[type=password]::-webkit-credentials-auto-fill-button{display:none!important}
.auth-divider{display:flex;align-items:center;gap:.75rem;color:#6b7280}
.auth-divider::before,.auth-divider::after{content:"";flex:1;height:1px;background:var(--bs-border-color)}
.auth-actions .btn{border-radius:.6rem;transition:transform .15s ease, box-shadow .2s ease}
.auth-actions .btn:hover{transform:translateY(-1px);box-shadow:0 .6rem 1.25rem rgba(16,185,129,.15)}

/* Glass morph for card */
.auth-card{background:rgba(255,255,255,.88);backdrop-filter:blur(8px) saturate(140%);border:1px solid rgba(17,24,39,.08)}

/* Animations */
@keyframes gradientShift{
  0%{background:linear-gradient(135deg,var(--brand-primary-dark),var(--brand-primary))}
  50%{background:linear-gradient(135deg,#2563eb,#22c55e)}
  100%{background:linear-gradient(135deg,#0ea5e9,#16a34a)}
}
@keyframes floatA{0%{transform:translate(0,0)}50%{transform:translate(18px,-8px)}100%{transform:translate(0,0)}}
@keyframes floatB{0%{transform:translate(0,0)}50%{transform:translate(-16px,12px)}100%{transform:translate(0,0)}}
@keyframes glowPulse{0%{opacity:.7;transform:scale(1)}50%{opacity:.95;transform:scale(1.05)}100%{opacity:.7;transform:scale(1)}}
