/* =================== */
/* THEME TOKENS        */
/* =================== */
:root{
  --ak-yellow:#FFC107;
  --ak-amber:#FFA000;
  --ak-text:#1f2328;
  --ak-muted:#667085;
  --ak-soft:#f6f7f9;
  --ak-border:#e7e9ee;
  --ak-radius:14px;
  --ak-shadow:0 6px 18px rgba(16,24,40,.06);
}

/* =================== */
/* GENERIC STRUCTURE   */
/* =================== */
.section{ padding:64px 0 }
.section-soft{ padding:64px 0; background:var(--ak-soft) }

.bg-ak-dark, .section-dark{ background:#0f1115; color:#fff; }
.section-dark a{ color:#fff; }

.brand-gradient{
  background:linear-gradient(135deg,var(--ak-yellow),var(--ak-amber));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}

/* Section titles */
.section-title h2{ margin:0; line-height:1.2 }
.title-underline{
  width:120px; height:4px; border-radius:4px; margin:.5rem auto 0;
  background:linear-gradient(90deg,var(--ak-yellow),var(--ak-amber));
}

/* Buttons (if you use them elsewhere) */
.btn-ak{
  display:inline-flex; align-items:center; gap:.5rem;
  color:#1b1c1e; font-weight:700; border:none;
  background:linear-gradient(135deg,var(--ak-yellow),var(--ak-amber));
  border-radius:999px; padding:.7rem 1.1rem;
  box-shadow:0 6px 14px rgba(255,193,7,.25);
}
.btn-ak:hover{ filter:brightness(1.06) }
.btn-ghost{
  border:1px solid var(--ak-border); background:#fff; color:var(--ak-text);
  border-radius:999px; padding:.65rem 1.05rem; font-weight:700;
}

/* =================== */
/* FEATURES (FINAL)    */
/* =================== */

/* Center lane so the 4 items never feel too wide on desktop */
.features-grid{
  max-width:1000px;           /* adjust 960–1080px to taste */
  margin:0 auto;

  /* Grid gives perfect, even spacing and alignment */
  display:grid;
  grid-template-columns:repeat(4, minmax(220px, 1fr));
  gap:42px 48px;
}

/* Tablet = two columns; Mobile = single column */
@media (max-width:1199.98px){
  .features-grid{ grid-template-columns:repeat(2, minmax(240px,1fr)); gap:36px 32px; }
}
@media (max-width:575.98px){
  .features-grid{ grid-template-columns:1fr; gap:28px; }
}

/* Each card is its own mini grid so all children sit on the same vertical axis */
.feature-card{
  display:grid;
  justify-items:center;      /* ✅ circle, title, paragraph centered */
  text-align:center;
}

/* Keep a tight vertical rhythm */
.feature-card h5{
  margin:.65rem 0 .45rem;
  font-weight:800;
  color:var(--ak-text);
}
.feature-card p{
  margin:0;
  color:var(--ak-muted);
  max-width:34ch;            /* beautiful line length under each icon */
}

/* Big brand icon circle (perfectly centered) */
.icon-circle{
  display:grid; place-items:center;    /* ✅ center icon in the circle */
  width:120px; height:120px; border-radius:50%;
  margin-inline:auto;                  /* ✅ center the circle itself */
  color:#fff; font-size:42px;

  /* symmetrical glow — no “left bias” */
  background: linear-gradient(135deg,var(--ak-yellow),var(--ak-amber));
  box-shadow: 0 18px 40px rgba(255,193,7,.25);
}

/* Slightly smaller circles on laptops for balance */
@media (max-width:1199.98px){
  .icon-circle{ width:104px; height:104px; font-size:36px; }
}

/* =================== */
/* OPTIONAL HERO STYLES (if you use them elsewhere) */
/* =================== */
.hero-title{
  font-weight:800; line-height:1.12;
  font-size:clamp(2rem, 1.6rem + 1.8vw, 2.8rem);
  color:var(--ak-text); letter-spacing:-0.4px;
}
.hero-copy{ max-width:720px }
.hero-media{
  border-radius:calc(var(--ak-radius) + 2px); overflow:hidden;
  box-shadow:0 14px 28px rgba(16,24,40,.10), 0 6px 14px rgba(16,24,40,.06);
  transform:translateZ(0);
}
.hero-media::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(120% 90% at 75% 0%, rgba(255,193,7,.18), transparent 55%),
    linear-gradient(to bottom, rgba(255,255,255,0) 60%, rgba(0,0,0,.06));
}
.hero-img{ width:100%; height:100%; object-fit:cover; display:block; }

/* Services grid = same visual DNA as features, 3/2/1 columns */
.services-grid{
  max-width: 1200px;         /* wider than features band by design */
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(260px, 1fr));
  gap: 42px 48px;
}

@media (max-width: 1199.98px){
  .services-grid{
    grid-template-columns: repeat(2, minmax(260px, 1fr));
    gap: 36px 32px;
  }
}
@media (max-width: 575.98px){
  .services-grid{
    grid-template-columns: 1fr;
    gap: 28px;
  }
}

/* Optional: small variation if you want services to look a touch “cardier” */
.service-card{
  padding: 12px 8px;         /* subtle internal breathing room */
}

/* ===== GALLERY / PROJECTS ===== */
.gallery{
  position: relative;
}

/* Gallery layout (kept) */
.gallery-track{
  display: grid;
  grid-auto-flow: column;
  gap: 20px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 6px;
}
.gallery-track::-webkit-scrollbar{ height:0 }
.gallery-track{ scrollbar-width:none }

/* Card now just an image (no caption) */
.gallery-card{
  scroll-snap-align: start;
  inline-size: clamp(260px, 28vw, 420px);
  border: 1px solid var(--ak-border);
  border-radius: var(--ak-radius);
  box-shadow: var(--ak-shadow);
  background: #fff;
  overflow: hidden;
  margin: 0;
}

.gallery-card img{
  width: 100%;
  aspect-ratio: 4 / 3;     /* change to 16/9 if you prefer */
  object-fit: cover;
  display: block;
  transition: transform .25s ease;
}
.gallery-card:hover img{
  transform: scale(1.01);  /* subtle polish */
}

/* Arrows & dots (kept) */
.gallery-nav{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  border: none;
  width: 44px; height: 44px; border-radius: 999px;
  display: grid; place-items: center;
  background: #fff;
  box-shadow: 0 6px 16px rgba(16,24,40,.16);
  color: var(--ak-text);
}
.gallery-nav.prev{ left: -8px }
.gallery-nav.next{ right: -8px }
.gallery-nav:hover{ filter: brightness(1.06) }

/* NAV brand logo: single-source (no @2x) */
.navbar-brand { padding-top:.25rem; padding-bottom:.25rem; }
.navbar.bg-ak-dark .container{ align-items:center; }

.brand-logo{
  display:inline-block;
  width:300px;                 /* tweak if you want it larger/smaller */
  height:100px;
  background-image:url("assets/brand/logo.png");
  background-repeat:no-repeat;
  background-position:left center;
  background-size:contain;
}

/* Optional responsive sizing */
@media (max-width:1199.98px){
  .brand-logo{ width:180px; height:40px; }
}
@media (max-width:575.98px){
  .brand-logo{ width:160px; height:36px; }
}

/* Ensure the fixed dark nav keeps everything vertically centered */
.navbar.bg-ak-dark .container{
  align-items: center;
}
/* Brand block alignment */
.navbar-brand.brand{
  display:flex;
  align-items:center;
  min-height:48px;           /* keeps bar height stable */
  padding-top:.25rem;
  padding-bottom:.25rem;
}

.gallery-dots{
  display: flex; gap: 8px; justify-content: center;
  margin-top: 14px;
}
.gallery-dots button{
  width: 8px; height: 8px; border-radius: 999px; border: 0;
  background: #d6d8de;
}
.gallery-dots button[aria-current="true"]{
  background: linear-gradient(90deg,var(--ak-yellow),var(--ak-amber));
}

/* Stronger amber tones for cards (optional tokens) */
:root{
  --ak-amber-strong: #ff9800;
  --ak-amber-soft:   #fff1c6;
  --ak-amber-cream:  #fff7df;
}

/* Testimonials reusing the Projects carousel track */
.testimonials-track .t-card{
  /* card sizing follows your .gallery-card; only the skin changes */
background: linear-gradient(135deg,var(--ak-yellow),var(--ak-amber));
  border: 1px solid rgba(255,160,0,.45);
  box-shadow:
    0 16px 36px rgba(255,160,0,.25),
    0 6px 14px rgba(16,24,40,.06);
  padding: 22px 22px 18px;
  display: grid;
  gap: 8px;
}

/* Quote + author */
.t-card .t-quote{
  font-size: 1.05rem;
  line-height: 1.6;
  color: #2b2f36;
  font-weight: 600;
}
.t-card .t-author{
  font-size: .95rem;
  color: #5e6570;
  font-weight: 700;
}

/* Center + italic + slightly smaller for the quote */
.t-card{
  /* existing styles kept */
  display: grid;
  gap: 10px;
  text-align: center;        /* ⬅ center all text in the card */
  padding: 22px 22px 18px;
}

.t-card .t-quote{
  font-style: italic;        /* ⬅ italic */
  font-weight: 500;          /* a touch lighter than before */
  font-size: clamp(0.95rem, 0.9rem + 0.2vw, 1.05rem);  /* ⬅ slightly smaller + responsive */
  line-height: 1.65;
  letter-spacing: 0.1px;
  color: #2b2f36;
  margin: 0;                 /* ensure tight spacing */
}

.t-card .t-author{
  justify-self: center;      /* keep author centered under the quote */
  font-size: .95rem;
  font-weight: 700;
  color: #5e6570;
}


/* CONTACT SECTION */
.contact-card{
  max-width: 640px;
  padding: 32px 24px;
  border-radius: var(--ak-radius);
  text-align: center;
  background: linear-gradient(135deg, rgba(255,193,7,.15), rgba(255,160,0,.15));
  box-shadow: var(--ak-shadow);
}

.contact-links{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
}

.follow-us .socials{
  display: flex;
  justify-content: center;
  gap: 14px;
}

.social{
  width: 42px; height: 42px;
  display: grid; place-items: center;
  border-radius: 999px;
  background: linear-gradient(135deg,var(--ak-yellow),var(--ak-amber));
  color: #1b1c1e;
  font-size: 18px;
  transition: all .2s ease;
}
.social:hover{ filter: brightness(1.15); transform: translateY(-2px); }

/* Footer polish */
.site-footer .footer-sep{
  border-top: 1px solid rgba(255,255,255,.15);
}
.site-footer h5, .site-footer h6{
  font-weight: 800;
}

/* Centered bottom text (already via text-center, this ensures layout) */
.site-footer .footer-bottom{
  display: flex;
  justify-content: center;
}

/* Floating “back to top” button (bottom-right) */
.btn-to-top{
  position: fixed;
  right: 22px;
  bottom: 22px;
  width: 44px; height: 44px;
  border-radius: 999px;
  display: grid; place-items: center;
  text-decoration: none;
  color: #1b1c1e;
  background: linear-gradient(135deg, var(--ak-yellow), var(--ak-amber));
  box-shadow: 0 8px 18px rgba(0,0,0,.25);
  opacity: 0; visibility: hidden; transform: translateY(8px);
  transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
  z-index: 40;
}
.btn-to-top i{ font-size: 1.5rem; line-height: 1; }
.btn-to-top:hover{ filter: brightness(1.06); }
.btn-to-top.show{
  opacity: 1; visibility: visible; transform: translateY(0);
}

/* Optional: make footer links/icons a tad brighter on hover */
.site-footer a.text-white-50:hover{
  color: #fff !important;
}

.gallery{ position: relative; isolation: isolate; } /* new stacking context */

.gallery-nav{
  z-index: 10;                 /* ensure clicks land on the arrow */
  pointer-events: auto;
}



/* ===== Contact layout ===== */
.contact-wrap{
  display:grid;
  grid-template-columns: 1.2fr .9fr;
  gap: 28px;
  align-items: start;
}
@media (max-width: 991.98px){
  .contact-wrap{ grid-template-columns: 1fr; }
}

/* Left column: vertical stack of bold CTAs */
.contact-ctas{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.contact-pill{
  display:flex; align-items:center; gap:.75rem;
  padding: .95rem 1.2rem;
  border-radius: 999px;
  text-decoration:none;
  font-weight:800;
  color:#1b1c1e;
  background: linear-gradient(135deg,var(--ak-yellow),var(--ak-amber));
  box-shadow: 0 8px 18px rgba(255,160,0,.28), 0 4px 12px rgba(16,24,40,.06);
  transition: transform .15s ease, filter .15s ease;
}
.contact-pill i{ font-size:1.15rem; line-height:1; }
.contact-pill:hover{ filter:brightness(1.06); transform: translateY(-1px); }

/* subtle brand tints per channel (optioneel nuance) */
.contact-pill.wa{ background: linear-gradient(135deg,#ffd54d,var(--ak-amber)); }
.contact-pill.tel{ background: linear-gradient(135deg,var(--ak-yellow),#ff9900); }
.contact-pill.mail{ background: linear-gradient(135deg,#ffe082,#ffae1a); }

/* small confidence notes under the CTAs */
.contact-notes{
  list-style:none; margin:4px 0 0; padding:0;
  color:var(--ak-muted);
  display:grid; gap:6px;
}
.contact-notes i{ color:var(--ak-amber); margin-right:.35rem; }

/* Right column: compact info card */
.contact-side{
  padding: 18px;
}

.mini-list{
  list-style:none; margin:0 0 10px; padding:0;
  display:grid; gap:12px;
}
.mini-list li{
  display:grid; grid-template-columns: 34px 1fr; align-items:start; gap:.6rem;
}
.mini-list i{
  width:34px; height:34px; border-radius:999px;
  display:grid; place-items:center;
  background: linear-gradient(135deg, rgba(255,193,7,.18), rgba(255,160,0,.18));
  color:#a56e00;
}

.side-actions{
  display:flex; align-items:center; justify-content:space-between;
  gap:12px; margin-top:8px;
}
.side-link{
  display:inline-flex; align-items:center; gap:.5rem;
  color:var(--ak-text); text-decoration:none; font-weight:700;
}
.side-link:hover{ text-decoration:underline; }
.side-qr{ width:72px; height:72px; border-radius:12px; display:block; }

/* Reuse socials you already have */

/* ===== Symmetric contact panels ===== */
.contact-wrap--sym{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  align-items: stretch;        /* same height cards */
}
@media (max-width: 991.98px){
  .contact-wrap--sym{ grid-template-columns: 1fr; }
}

.contact-panel{
  padding: 22px 20px;
  border: 1px solid var(--ak-border);
  border-radius: var(--ak-radius);
  background: #fff;
  box-shadow: var(--ak-shadow);
  display: grid;
  grid-auto-rows: max-content;
  gap: 12px;
}

.contact-heading{
  font-weight: 800;
  margin: 4px 2px 8px;
  color: var(--ak-text);
}

/* CTA pills – full width, consistent height, nicer icon disc */
.contact-pill{
  display:flex; align-items:center; gap:.9rem;
  height: 56px;
  padding: 0 14px 0 10px;
  border-radius: 999px;
  text-decoration:none;
  font-weight: 750;
  color:#1b1c1e;
  background: linear-gradient(135deg,var(--ak-yellow),var(--ak-amber));
  box-shadow: 0 10px 22px rgba(255,160,0,.26), 0 4px 12px rgba(16,24,40,.06);
  transition: transform .15s ease, filter .15s ease;
}
.contact-pill.is-full{ width:100%; }
.contact-pill:hover{ filter:brightness(1.06); transform: translateY(-1px); }

.pill-icon{
  width: 38px; height: 38px; border-radius: 999px;
  display:grid; place-items:center;
  background: linear-gradient(135deg, rgba(255,193,7,.18), rgba(255,160,0,.18));
  color:#a56e00;
  flex: 0 0 auto;
}
.pill-label{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

/* Notes under the CTAs */
.contact-notes{
  list-style:none; margin: 2px 0 0; padding:0;
  color:var(--ak-muted);
  display:grid; gap:6px;
}
.contact-notes i{ color:var(--ak-amber); margin-right:.35rem; }

/* Right panel list */
.mini-list{
  list-style:none; margin:0; padding:0;
  display:grid; gap:14px;
}
.mini-list li{
  display:grid; grid-template-columns: 40px 1fr; align-items: start; gap:.75rem;
}
.mini-icon{
  width:40px; height:40px; border-radius:999px;
  display:grid; place-items:center;
  background: linear-gradient(135deg, rgba(255,193,7,.18), rgba(255,160,0,.18));
  color:#a56e00;
}
.side-link{
  display:inline-flex; align-items:center; gap:.5rem;
  color:var(--ak-text); text-decoration:none; font-weight:700;
}
.side-link:hover{ text-decoration:underline; }


/* ===== Premium Contact Card ===== */
.contact-pro{
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
}
@media (max-width: 991.98px){
  .contact-pro{ grid-template-columns: 1fr; }
}

/* Shared panel surface */
.contact-pro__left,
.contact-pro__right{
  background: #fff;
  border: 1px solid var(--ak-border);
  border-radius: calc(var(--ak-radius) + 2px);
  box-shadow: var(--ak-shadow);
  padding: 22px 22px;
}
.contact-pro__title{
  font-weight: 800;
  margin: 4px 2px 14px;
  color: var(--ak-text);
}

/* ===== Outline gradient CTAs ===== */
.cta-lg{
  display: grid;
  grid-template-columns: 46px 1fr auto;
  align-items: center;
  gap: 14px;
  padding: 10px 14px;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 750;
  color: var(--ak-text);
  background:
    linear-gradient(#fff, #fff) padding-box,
    linear-gradient(135deg,var(--ak-yellow),var(--ak-amber)) border-box;
  border: 2px solid transparent;
  transition: transform .16s ease, box-shadow .16s ease, color .16s ease, background .16s ease;
  margin-bottom: 12px;
}
.cta-lg__icon{
  width: 46px; height: 46px; border-radius: 999px;
  display: grid; place-items: center;
  background: linear-gradient(135deg, rgba(255,193,7,.16), rgba(255,160,0,.16));
  color: #a56e00;
  font-size: 1.25rem;
}
.cta-lg__label{
  font-size: 1.05rem;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.cta-lg__hint{
  font-size: .9rem; color: var(--ak-muted); font-weight: 600;
}

/* On hover: fill with brand gradient */
.cta-lg:hover{
  background: linear-gradient(135deg,var(--ak-yellow),var(--ak-amber));
  color:#1b1c1e;
  transform: translateY(-1px);
  box-shadow: 0 12px 26px rgba(255,160,0,.28), 0 4px 12px rgba(16,24,40,.06);
}
.cta-lg:hover .cta-lg__icon{
  background: rgba(255,255,255,.85);
  color: #1b1c1e;
}
.cta-lg:hover .cta-lg__hint{
  color:#1b1c1e;
  opacity:.9;
}

/* ===== Info list ===== */
.pro-list{
  list-style:none; margin:0 0 10px; padding:0;
  display:grid; gap:14px;
}
.pro-list li{
  display:grid;
  grid-template-columns: 42px 1fr;
  align-items:start; gap:10px;
}
.pro-list__icon{
  width:42px; height:42px; border-radius:999px;
  display:grid; place-items:center;
  background: linear-gradient(135deg, rgba(255,193,7,.16), rgba(255,160,0,.16));
  color:#a56e00; font-size:1.05rem;
}
.pro-list__title{ font-weight:800; margin-bottom:2px; color:var(--ak-text); }
.pro-list__text{ color:var(--ak-muted); }

.pro-link{
  display:inline-flex; align-items:center; gap:.5rem;
  font-weight:750; color:var(--ak-text); text-decoration:none;
}
.pro-link:hover{ text-decoration:underline; }

/* ===== Facts bar ===== */
.contact-facts{
  max-width: 1100px;
  margin: 22px auto 0;
  display: grid; grid-template-columns: repeat(3,1fr);
  gap: 12px;
}
@media (max-width: 991.98px){
  .contact-facts{ grid-template-columns: 1fr; }
}
.fact{
  background:#fff;
  border:1px solid var(--ak-border);
  border-radius:999px;
  padding:10px 14px;
  color:var(--ak-text);
  display:flex; align-items:center; gap:.55rem;
  box-shadow: var(--ak-shadow);
  justify-content:center;
  text-align:center;
}
.fact i{ color:var(--ak-amber); }

/* Socials: you already have .social styles; they will continue to work */


/* ======= Section frames (optional) ======= */
.section-frame {
  background:#fff;
  border:1px solid var(--ak-border);
  border-radius: 18px;
  box-shadow: 0 10px 28px rgba(16,24,40,.06);
  padding: clamp(20px, 3vw, 36px);
  margin-inline:auto;
  max-width: 1180px;
}

/* Start fully visible; GSAP will animate from a slight inset */
.wipe-in {
  clip-path: inset(0% round 18px);
  will-change: clip-path;
}


/* Stacked sections scale down slightly while the next enters */
.stacked {
  will-change: transform;
  transform-origin: center top;
}

/* Parallax utility: any element with .parallax will drift slightly */
.parallax {
  will-change: transform;
}

/* AOS tiny polish so it matches your easing */
[data-aos] {
  transition-timing-function: cubic-bezier(.215,.61,.355,1);
}

/* Keeps the yellow underline centered under the TEXT block */
.section-title--tight { width: fit-content; }

/* Hero flares (subtle highlights) — safe if JS fails */
.hero-flare{
  position:absolute; pointer-events:none; filter:blur(24px); opacity:.25;
  background: radial-gradient(closest-side, rgba(255,193,7,.65), rgba(255,193,7,0));
}
.hero-flare-a{ width:220px; height:220px; top:6%; right:6%; }
.hero-flare-b{ width:160px; height:160px; bottom:8%; left:10%; }

/* Base perspective utility (does nothing visual alone) */
.section-3d { transform-style: preserve-3d; }

/* Stronger shadow when scrolling down */
.nav-elevated { box-shadow: 0 10px 24px rgba(0,0,0,.22) !important; }

/* Google-style review card skin */
.t-card-google{
  background:#fff;
  border:1px solid var(--ak-border);
  border-radius: var(--ak-radius);
  box-shadow: var(--ak-shadow);
  padding: 18px 18px 16px;
  text-align: left;
  display: grid;
  gap: 10px;
}
.tg-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.tg-user{ display:flex; align-items:center; gap:10px; }
.tg-avatar{
  width:38px; height:38px; border-radius:50%;
  display:grid; place-items:center;
  background:#f1f3f5; color:#1f1f1f; font-weight:800; font-size:.9rem;
}
.tg-name{ font-weight:800; line-height:1.1; }
.tg-loc{ color:var(--ak-muted); font-size:.9rem; }

.tg-meta{ display:grid; gap:6px; justify-items:end; }
.tg-badge{
  display:inline-flex; align-items:center; gap:6px;
  font-weight:700; color:#5f6368; font-size:.9rem;
}
.tg-badge i{ color:#4285f4; }

.tg-stars{ color:#fbbc04; font-size:1rem; line-height:1; }
.tg-quote{
  margin:0; color:#2b2f36; line-height:1.6; font-style:italic;
}

/* Google-style review card skin */
.t-card-google{
  background:#fff;
  border:1px solid var(--ak-border);
  border-radius: var(--ak-radius);
  box-shadow: var(--ak-shadow);
  padding:18px 18px 16px;
  text-align:left;
  display:grid; gap:10px;
}
.tg-head{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.tg-user{ display:flex; align-items:center; gap:10px; }
.tg-avatar{
  width:38px; height:38px; border-radius:50%;
  display:grid; place-items:center;
  background:#f1f3f5; color:#1f1f1f; font-weight:800; font-size:.9rem;
}
.tg-name{ font-weight:800; line-height:1.1; }
.tg-loc{ color:var(--ak-muted); font-size:.9rem; }
.tg-meta{ display:grid; gap:6px; justify-items:end; }
.tg-badge{ display:inline-flex; align-items:center; gap:6px; font-weight:700; color:#5f6368; font-size:.9rem; }
.tg-badge i{ color:#4285f4; }
.tg-stars{ color:#fbbc04; font-size:1rem; line-height:1; }
.tg-quote{ margin:0; color:#2b2f36; line-height:1.6; font-style:italic; }


/* Optional: a bit more padding for service slides inside the carousel */
.gallery-card.service-card { padding: 16px 14px; }



/* ============================= */
/* Footer – visual polish        */
/* ============================= */

.site-footer {
  /* already dark via .section-dark; add a little breathing room + subtle top shadow */
  padding-top: clamp(28px, 4vw, 48px);
  padding-bottom: clamp(18px, 3vw, 28px);
  box-shadow: 0 -10px 24px rgba(0,0,0,.18);
}

/* Headings: bold, tight, with a soft brand accent under the H5 */
.site-footer h5,
.site-footer h6 {
  font-weight: 800;
  letter-spacing: .2px;
  margin-bottom: .65rem;
  color: #fff;
}
.site-footer h5 {
  position: relative;
  display: inline-block;
  padding-bottom: .25rem;
}
.site-footer h5::after{
  content:"";
  position:absolute; left:0; right:0; bottom:0;
  height:4px; border-radius:4px;
  background: linear-gradient(90deg,var(--ak-yellow),var(--ak-amber));
}

/* Body copy tint */
.site-footer p,
.site-footer .text-white-50,
.site-footer li {
  color: rgba(255,255,255,.72) !important;
}

/* Contact list: make icons neatly aligned in their own little discs */
.site-footer ul.list-unstyled li {
  display: grid;
  grid-template-columns: 32px 1fr;
  align-items: center;
  gap: .5rem;
  margin-bottom: .45rem;
}
.site-footer ul.list-unstyled i {
  width: 32px; height: 32px;
  display: grid; place-items: center;
  border-radius: 999px;
  color: #a56e00;                               /* brand-ish icon color */
  background: linear-gradient(135deg,
              rgba(255,193,7,.16), rgba(255,160,0,.16));
}

/* Socials: turn the three links into soft circular buttons */
.site-footer .d-flex.gap-3 a {
  --s: 44px;
  width: var(--s); height: var(--s);
  display: grid; place-items: center;
  border-radius: 999px;
  text-decoration: none;
  color: #1b1c1e;                               /* dark glyph on light bg */
  background: linear-gradient(135deg,var(--ak-yellow),var(--ak-amber));
  box-shadow: 0 8px 18px rgba(255,160,0,.26), 0 4px 12px rgba(16,24,40,.10);
  transition: transform .15s ease, filter .15s ease, box-shadow .15s ease;
  font-size: 1.1rem;                             /* icon size */
}
.site-footer .d-flex.gap-3 a:hover{
  transform: translateY(-2px);
  filter: brightness(1.06);
  box-shadow: 0 12px 24px rgba(255,160,0,.32), 0 6px 14px rgba(16,24,40,.12);
}

/* Separator: single, subtle, full-width gradient line */
.site-footer .footer-sep{
  border: 0;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255,255,255,.12) 15%,
    rgba(255,255,255,.12) 85%,
    transparent 100%
  );
}

/* Bottom line: keep it centered and a touch smaller */
.site-footer .footer-bottom p{
  color: rgba(255,255,255,.6) !important;
  font-size: .92rem;
}

/* ============================= */
/* Footer – responsive tweaks     */
/* ============================= */

/* On tablets & below, center-align the left column content */
@media (max-width: 991.98px){
  .site-footer .col-12.col-lg-5 {
    text-align: center;
  }
  .site-footer .d-flex.gap-3 {
    justify-content: center;
  }
}

/* On small phones, increase tap targets slightly and center contact */
@media (max-width: 575.98px){
  .site-footer ul.list-unstyled li {
    grid-template-columns: 36px 1fr;
  }
  .site-footer ul.list-unstyled i { width:36px; height:36px; }
  .site-footer .col-12.col-md-6.col-lg-4 {
    margin-top: .5rem;
  }
}

/* ========= Footer: left/right on desktop, tidy on mobile ========= */

/* Default (mobile/tablet): stack and center for readability */
.site-footer .row.g-4 > div { 
  text-align: center;
}
.site-footer .d-flex.gap-3 {            /* socials row */
  justify-content: center;
}

/* Desktop ≥ 992px: brand to the left, contact to the right */
@media (min-width: 992px){
  .site-footer .row.g-4 { 
    align-items: flex-start; 
  }

  /* Left column (brand/intro) */
  .site-footer .row.g-4 > .col-12.col-lg-5 {
    text-align: left;
    margin-right: auto;
  }
  .site-footer .row.g-4 > .col-12.col-lg-5 .d-flex.gap-3 {
    justify-content: flex-start;       /* socials align left on desktop */
  }

  /* Right column (contact) */
  .site-footer .row.g-4 > .col-12.col-md-6.col-lg-4 {
    text-align: left;
    margin-left: auto;
  }

  /* Keep the contact list visually aligned inside the right column */
  .site-footer .row.g-4 > .col-12.col-md-6.col-lg-4 ul.list-unstyled {
    display: inline-block;             /* shrink to content width */
    text-align: left;                  /* items read left-to-right */
    margin: 0;                         /* no auto-centering */
  }
}
