/* ============================================================
   Precision Collective — main.css v3.0
   Fonts: Plus Jakarta Sans (headings) + Inter (body)
   ============================================================ */

:root {
  --orange:#F4600C; --orange-h:#D9520A; --orange-l:#FF8C42; --orange-pale:#FFF0E8;
  --blue:#2EC4E8;   --blue-dark:#1A9BBF; --blue-pale:#E8F8FC;
  --dark:#0D1520;   --dark-2:#1E2A38;
  --gray:#5A6A7E;   --gray-l:#8FA0B4;   --gray-bg:#F4F6F9;
  --white:#FFFFFF;  --border:#E2E8F0;
  --shadow:0 2px 16px rgba(13,21,32,.07);
  --shadow-lg:0 12px 40px rgba(13,21,32,.13);
  --fh:'Plus Jakarta Sans',sans-serif;
  --fb:'Inter',sans-serif;
  --r:12px; --rl:18px;
}

/* ── Reset ── */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body {
  font-family:var(--fb);
  font-size:16.5px;
  color:var(--dark);
  background:var(--white);
  line-height:1.75;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
img  { max-width:100%; display:block; height:auto; }
a    { text-decoration:none; color:inherit; }
ul   { list-style:none; }
button { cursor:pointer; font-family:var(--fb); }

/* ── Typography ── */
.dxl { font-family:var(--fh); font-size:clamp(2.6rem,5.5vw,4.8rem); font-weight:800; line-height:1.08; letter-spacing:-.03em; }
.dlg { font-family:var(--fh); font-size:clamp(1.9rem,3.8vw,3.2rem); font-weight:700; line-height:1.14; letter-spacing:-.025em; }
.dmd { font-family:var(--fh); font-size:clamp(1.4rem,2.8vw,2rem);   font-weight:700; line-height:1.22; }
.dsm { font-family:var(--fh); font-size:1.2rem; font-weight:700; }
em   { color:var(--orange); font-style:normal; }

/* WP content */
.wp-content h1,.wp-content h2,.wp-content h3 { font-family:var(--fh); font-weight:700; margin-bottom:16px; }
.wp-content p  { margin-bottom:18px; }
.wp-content a  { color:var(--orange); text-decoration:underline; }
.wp-content ul { list-style:disc; padding-left:24px; margin-bottom:18px; }
.wp-content ol { list-style:decimal; padding-left:24px; margin-bottom:18px; }
.wp-content img { border-radius:var(--r); margin-bottom:20px; }
.custom-logo   { height:44px; width:auto; display:block; }

/* ── Layout ── */
.wrap  { max-width:1200px; margin:0 auto; padding:0 24px; }
.sec   { padding:96px 0; }
.sec-sm { padding:64px 0; }
.tc    { text-align:center; }
.g2 { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; }
.g3 { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.sec-lbl {
  display:inline-flex; align-items:center; gap:8px;
  padding:6px 16px; background:var(--orange-pale);
  border-radius:100px; color:var(--orange);
  font-size:.72rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase;
  font-family:var(--fh);
}

/* ── Buttons ── */
.btn {
  display:inline-flex; align-items:center; gap:8px;
  padding:13px 26px; border-radius:var(--r);
  font-family:var(--fb); font-size:.92rem; font-weight:600;
  cursor:pointer; transition:all .22s ease; border:2px solid transparent;
  white-space:nowrap; text-decoration:none;
}
.btn-p { background:var(--orange); color:#fff; }
.btn-p:hover { background:var(--orange-h); transform:translateY(-2px); box-shadow:0 8px 24px rgba(244,96,12,.32); color:#fff; }
.btn-o { background:transparent; color:var(--dark); border-color:var(--border); }
.btn-o:hover { border-color:var(--orange); color:var(--orange); transform:translateY(-2px); }
.btn-w { background:#fff; color:var(--dark); }
.btn-w:hover { background:var(--orange-pale); color:var(--orange); transform:translateY(-2px); }
.btn-lg { padding:16px 34px; font-size:1rem; }

/* ── Cards ── */
.card {
  background:#fff; border-radius:var(--rl);
  box-shadow:var(--shadow); padding:30px;
  transition:transform .3s, box-shadow .3s;
  border:1px solid var(--border);
}
.card:hover { transform:translateY(-5px); box-shadow:var(--shadow-lg); }

/* ─────────────────────────────────────────────
   HEADER
───────────────────────────────────────────── */
#hdr {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
  border-bottom:1px solid var(--border);
  transition:box-shadow .3s;
}
#hdr.scrolled { box-shadow:0 2px 20px rgba(13,21,32,.1); }
.hdr-in { height:70px; display:flex; align-items:center; justify-content:space-between; }

/* Logo */
.logo { display:flex; align-items:center; gap:10px; text-decoration:none; }
.logo-ic {
  width:36px; height:36px; background:var(--orange); border-radius:9px;
  display:flex; align-items:center; justify-content:center;
  color:#fff; font-family:var(--fh); font-weight:800; font-size:1.1rem; flex-shrink:0;
}
.logo-tx { font-family:var(--fh); font-weight:700; font-size:1.05rem; color:var(--dark); }
.logo-tx span { color:var(--orange); }

/* Nav */
.pc-nav-list { display:flex; align-items:center; gap:2px; list-style:none; margin:0; padding:0; }
.pc-nav-list li { margin:0; }
.nl {
  display:block; padding:8px 13px; border-radius:8px;
  font-size:.88rem; font-weight:500; color:var(--gray);
  cursor:pointer; transition:all .2s; text-decoration:none;
}
.nl:hover,.nl.active { color:var(--orange); background:var(--orange-pale); }
.hdr-act { display:flex; align-items:center; gap:10px; }

/* Hamburger */
.ham { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:8px; background:none; border:none; }
.ham span { display:block; width:22px; height:2px; background:var(--dark); transition:all .3s; border-radius:2px; }

/* Mobile menu */
.mob-menu {
  display:none; position:fixed; top:70px; left:0; right:0; bottom:0;
  background:#fff; z-index:999;
  flex-direction:column; padding:28px 20px; gap:6px; overflow-y:auto;
}
.mob-menu.open { display:flex; }
.mob-nl {
  display:block; padding:14px; border-radius:10px;
  font-size:1.05rem; font-weight:600; cursor:pointer; transition:all .2s;
  border-bottom:1px solid var(--border); color:var(--dark); font-family:var(--fh);
}
.mob-nl:hover { color:var(--orange); background:var(--orange-pale); }

/* ─────────────────────────────────────────────
   PAGE HEROES
───────────────────────────────────────────── */
.pg-hero    { padding-top:130px; padding-bottom:60px; }
.pg-hero-dk { background:linear-gradient(135deg,var(--dark),var(--dark-2)); color:#fff; }
.pg-hero-lt { background:var(--gray-bg); border-bottom:1px solid var(--border); }

/* ─────────────────────────────────────────────
   HOME HERO
───────────────────────────────────────────── */
.hero {
  padding-top:130px; padding-bottom:80px;
  background:var(--dark); color:#fff;
  overflow:hidden; position:relative;
  min-height:90vh; display:flex; align-items:center;
}
.hero-bg {
  position:absolute; top:0; right:0; width:58%; height:100%;
  background:url('https://images.unsplash.com/photo-1586105251261-72a756497a11?w=1400&q=80') center/cover no-repeat;
}
.hero-bg::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(90deg,var(--dark) 10%,rgba(13,21,32,.72) 60%,transparent);
}
.hero-ovl {
  position:absolute; inset:0;
  background:linear-gradient(105deg,var(--dark) 42%,rgba(13,21,32,.35) 72%,transparent);
}
.hero-in   { position:relative; z-index:2; max-width:660px; }
.hero-badge {
  display:inline-flex; align-items:center; gap:8px; padding:7px 15px;
  background:rgba(244,96,12,.18); border:1px solid rgba(244,96,12,.38);
  border-radius:100px; color:var(--orange-l);
  font-size:.78rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase;
  margin-bottom:22px; font-family:var(--fh);
}
.hero h1     { margin-bottom:22px; }
.hero-sub    { font-size:1.08rem; line-height:1.78; color:rgba(255,255,255,.72); margin-bottom:38px; max-width:560px; }
.hero-ctas   { display:flex; gap:14px; flex-wrap:wrap; margin-bottom:52px; }
.hero-stats  { display:flex; gap:44px; }
.stat-num    { font-family:var(--fh); font-size:2rem; font-weight:800; color:var(--orange); }
.stat-lbl    { font-size:.82rem; color:rgba(255,255,255,.58); }

/* ── Trust Strip ── */
.trust { background:var(--gray-bg); padding:26px 0; border-bottom:1px solid var(--border); }
.trust-in { display:flex; align-items:center; justify-content:center; gap:44px; flex-wrap:wrap; }
.trust-item { display:flex; align-items:center; gap:9px; font-size:.84rem; font-weight:600; color:var(--gray); font-family:var(--fh); }
.trust-ic {
  width:34px; height:34px; border-radius:8px; background:#fff;
  box-shadow:var(--shadow); display:flex; align-items:center;
  justify-content:center; color:var(--orange); flex-shrink:0;
}

/* ── Benefits ── */
.ben-card { text-align:center; }
.ben-ic {
  width:60px; height:60px; border-radius:14px;
  background:var(--orange-pale); color:var(--orange);
  display:flex; align-items:center; justify-content:center; margin:0 auto 18px;
}

/* ── Services Preview ── */
.sprev { background:var(--dark); color:#fff; }
.sprev-card { border-radius:var(--rl); overflow:hidden; position:relative; display:block; text-decoration:none; }
.sprev-img  { width:100%; height:280px; object-fit:cover; transition:transform .5s; display:block; }
.sprev-card:hover .sprev-img { transform:scale(1.05); }
.sprev-ov {
  position:absolute; bottom:0; left:0; right:0;
  background:linear-gradient(0deg,rgba(13,21,32,.95),transparent);
  padding:26px 22px 22px;
}
.s-tag {
  display:inline-block; padding:4px 11px; background:var(--orange);
  border-radius:100px; font-size:.68rem; font-weight:700;
  letter-spacing:.08em; text-transform:uppercase; color:#fff;
  margin-bottom:8px; font-family:var(--fh);
}

/* ─────────────────────────────────────────────
   GALLERY TABS — Home + Portfolio
───────────────────────────────────────────── */
.gal-section { padding:96px 0; background:var(--gray-bg); }

/* Home tab pill group */
.gal-tabs-wrap { display:flex; align-items:center; justify-content:center; margin-top:28px; }
.gal-tabs {
  display:inline-flex; background:#fff; border-radius:100px;
  padding:5px; gap:4px;
  box-shadow:var(--shadow); border:1px solid var(--border);
}
.gal-tab {
  padding:10px 24px; border-radius:100px; font-size:.88rem; font-weight:600;
  cursor:pointer; border:none; background:transparent; color:var(--gray);
  transition:all .24s; font-family:var(--fh); white-space:nowrap;
}
.gal-tab.active { background:var(--orange); color:#fff; box-shadow:0 4px 14px rgba(244,96,12,.3); }
.gal-tab:not(.active):hover { color:var(--orange); background:var(--orange-pale); }

/* Portfolio filter pill group */
.port-filter-bar { display:flex; align-items:center; }
.port-tabs-pill {
  display:inline-flex; background:#fff; border-radius:100px;
  padding:5px; gap:4px; box-shadow:var(--shadow); border:1px solid var(--border);
}
.f-btn {
  padding:10px 22px; border-radius:100px; font-size:.86rem; font-weight:600;
  cursor:pointer; border:none; background:transparent; color:var(--gray);
  transition:all .22s; font-family:var(--fh); white-space:nowrap;
}
.f-btn.active { background:var(--orange); color:#fff; box-shadow:0 4px 14px rgba(244,96,12,.28); }
.f-btn:not(.active):hover { color:var(--orange); background:var(--orange-pale); }

/* Gallery panes */
.gal-pane { display:none; }
.gal-pane.active { display:block; animation:galFade .36s ease; }
@keyframes galFade { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }

/* Gallery grids */
.gal-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:36px; }
.gal-grid.home-gal { grid-template-columns:repeat(4,1fr); }

/* Gallery items */
.gal-item {
  position:relative; border-radius:var(--r); overflow:hidden;
  aspect-ratio:1 / 1; cursor:pointer; background:var(--border);
}
.gal-item img { width:100%; height:100%; object-fit:cover; transition:transform .44s; display:block; }
.gal-item:hover img { transform:scale(1.07); }
.gal-overlay {
  position:absolute; inset:0;
  background:linear-gradient(0deg,rgba(13,21,32,.85) 0%,rgba(13,21,32,.1) 55%,transparent 100%);
  opacity:0; transition:opacity .28s;
  display:flex; flex-direction:column; justify-content:flex-end; padding:16px;
}
.gal-item:hover .gal-overlay { opacity:1; }
.gal-ot { color:#fff; font-size:.88rem; font-weight:700; font-family:var(--fh); margin-bottom:3px; line-height:1.3; }
.gal-os { color:rgba(255,255,255,.68); font-size:.74rem; }

/* View all button */
.gal-view-btn { margin-top:28px; text-align:center; }

/* ─────────────────────────────────────────────
   LIGHTBOX
───────────────────────────────────────────── */
.lb {
  display:none; position:fixed; inset:0; z-index:9000;
  background:rgba(10,15,25,.96);
  align-items:center; justify-content:center;
}
.lb.open { display:flex; }
.lb-inner { position:relative; max-width:940px; width:calc(100% - 48px); }
.lb-img   { width:100%; max-height:82vh; object-fit:contain; border-radius:var(--r); display:block; }
.lb-cap   { color:rgba(255,255,255,.78); font-size:.9rem; text-align:center; margin-top:14px; font-family:var(--fh); font-weight:500; }
.lb-close {
  position:absolute; top:-46px; right:0;
  background:rgba(255,255,255,.1); border:none; color:#fff;
  width:36px; height:36px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:1rem; cursor:pointer; transition:background .2s;
}
.lb-close:hover { background:var(--orange); }
.lb-arr {
  position:absolute; top:50%; transform:translateY(-50%);
  background:rgba(255,255,255,.1); border:none; color:#fff;
  width:48px; height:48px; border-radius:50%; font-size:1.6rem;
  cursor:pointer; display:flex; align-items:center; justify-content:center;
  transition:background .2s; backdrop-filter:blur(4px);
}
.lb-arr:hover { background:var(--orange); }
.lb-prev { left:-64px; }
.lb-next { right:-64px; }

/* ── Testimonials ── */
.testi { background:var(--blue-pale); }
.tcard { background:#fff; border-radius:var(--rl); padding:30px; }
.stars { color:var(--orange); margin-bottom:14px; font-size:1.05rem; }
.ttext { font-size:.97rem; line-height:1.8; color:var(--dark); margin-bottom:22px; font-style:italic; }
.t-auth { display:flex; align-items:center; gap:12px; }
.t-av   { width:42px; height:42px; border-radius:50%; overflow:hidden; background:var(--orange-pale); flex-shrink:0; }
.t-av img { width:100%; height:100%; object-fit:cover; }
.t-name { font-weight:700; font-size:.92rem; font-family:var(--fh); }
.t-co   { font-size:.78rem; color:var(--gray); }

/* ── About Preview ── */
.aimg-w { border-radius:var(--rl); overflow:hidden; position:relative; }
.aimg-w img { width:100%; height:460px; object-fit:cover; display:block; }
.aimg-badge { position:absolute; bottom:22px; left:22px; background:var(--orange); color:#fff; padding:14px 18px; border-radius:var(--r); }
.a-pts { display:flex; flex-direction:column; gap:14px; margin:22px 0 28px; }
.a-pt  { display:flex; align-items:flex-start; gap:11px; font-size:.97rem; }
.pt-ck { width:22px; height:22px; border-radius:50%; background:var(--orange-pale); color:var(--orange); display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:3px; font-size:.72rem; font-weight:800; }

/* ── Final CTA ── */
.fcta { background:linear-gradient(135deg,var(--orange),#C44A00); color:#fff; text-align:center; padding:96px 0; position:relative; overflow:hidden; }
.fcta::before { content:''; position:absolute; top:-50%; right:-10%; width:500px; height:500px; border-radius:50%; background:rgba(255,255,255,.06); }
.fcta::after  { content:''; position:absolute; bottom:-30%; left:-5%; width:300px; height:300px; border-radius:50%; background:rgba(255,255,255,.06); }
.fcta-in { position:relative; z-index:1; }
.fcta h2 { margin-bottom:14px; }
.fcta p  { font-size:1.05rem; opacity:.88; margin-bottom:34px; max-width:540px; margin-left:auto; margin-right:auto; }
.cta-btns { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

/* ─────────────────────────────────────────────
   ABOUT PAGE
───────────────────────────────────────────── */
.mission-b { background:var(--dark); color:#fff; border-radius:var(--rl); padding:52px; position:relative; overflow:hidden; }
.mission-b::before { content:'"'; position:absolute; top:16px; left:36px; font-size:11rem; font-family:var(--fh); font-weight:800; color:var(--orange); opacity:.11; line-height:1; pointer-events:none; }
.diff-g { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
.diff-c { padding:30px; border-radius:var(--rl); background:var(--gray-bg); border:1px solid var(--border); transition:all .28s; }
.diff-c:hover { background:var(--orange-pale); border-color:var(--orange); }
.diff-n { font-family:var(--fh); font-size:2.4rem; font-weight:800; color:var(--orange); opacity:.28; line-height:1; margin-bottom:11px; }

/* ─────────────────────────────────────────────
   SERVICES PAGE
───────────────────────────────────────────── */
.svc-full { display:grid; grid-template-columns:1fr 1fr; border-radius:var(--rl); overflow:hidden; box-shadow:var(--shadow); border:1px solid var(--border); }
.svc-full:nth-child(even) .svc-img { order:1; }
.svc-full:nth-child(even) .svc-cnt { order:0; }
.svc-img img { width:100%; height:100%; min-height:360px; object-fit:cover; display:block; }
.svc-cnt { padding:44px; }
.svc-num { font-family:var(--fh); font-size:3.5rem; font-weight:800; color:var(--orange); opacity:.14; line-height:1; }
.svc-feat { margin:18px 0 26px; }
.svc-fi { display:flex; align-items:center; gap:10px; padding:8px 0; border-bottom:1px solid var(--border); font-size:.9rem; }
.feat-dot { width:7px; height:7px; border-radius:50%; background:var(--orange); flex-shrink:0; }

/* How it works */
.steps-sec { background:var(--dark); color:#fff; }
.steps-g { display:grid; grid-template-columns:repeat(4,1fr); position:relative; }
.steps-g::before { content:''; position:absolute; top:38px; left:12%; right:12%; height:2px; background:linear-gradient(90deg,var(--orange),var(--blue),var(--orange)); z-index:0; }
.step-it { text-align:center; padding:0 14px; position:relative; z-index:1; }
.step-n  { width:76px; height:76px; border-radius:50%; background:var(--orange); color:#fff; display:flex; align-items:center; justify-content:center; margin:0 auto 22px; font-family:var(--fh); font-size:1.4rem; font-weight:800; border:4px solid var(--dark); }
.step-it h4 { color:#fff; font-family:var(--fh); font-size:.97rem; font-weight:700; margin-bottom:10px; }
.step-it p  { color:rgba(255,255,255,.58); font-size:.88rem; }

/* FAQ */
.faq-it { border:1px solid var(--border); border-radius:var(--r); margin-bottom:10px; overflow:hidden; }
.faq-q  { width:100%; padding:18px 22px; display:flex; justify-content:space-between; align-items:center; background:none; border:none; font-family:var(--fb); font-weight:600; font-size:.94rem; text-align:left; cursor:pointer; transition:background .2s; color:var(--dark); }
.faq-q:hover { background:var(--gray-bg); }
.faq-tog { width:22px; height:22px; border-radius:50%; background:var(--orange-pale); color:var(--orange); display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:1rem; font-weight:700; transition:transform .3s; }
.faq-a { padding:0 22px; max-height:0; overflow:hidden; transition:max-height .38s ease, padding .28s; font-size:.92rem; color:var(--gray); line-height:1.78; }
.faq-it.open .faq-a { max-height:300px; padding:0 22px 18px; }
.faq-it.open .faq-tog { transform:rotate(45deg); background:var(--orange); color:#fff; }

/* ─────────────────────────────────────────────
   CONTACT PAGE
───────────────────────────────────────────── */
.ct-g    { display:grid; grid-template-columns:1fr 1.2fr; gap:60px; align-items:start; }
.ct-form { background:#fff; border-radius:var(--rl); padding:38px; box-shadow:var(--shadow-lg); }
.fg { margin-bottom:18px; }
.fl { display:block; font-size:.84rem; font-weight:600; color:var(--dark); margin-bottom:7px; font-family:var(--fh); }
.fc {
  width:100%; padding:13px 15px; border:2px solid var(--border);
  border-radius:var(--r); font-family:var(--fb); font-size:.92rem;
  color:var(--dark); background:var(--gray-bg);
  transition:all .2s; outline:none; resize:vertical; -webkit-appearance:none;
}
.fc:focus { border-color:var(--orange); background:#fff; box-shadow:0 0 0 4px rgba(244,96,12,.07); }
.fc::placeholder { color:var(--gray-l); }
.f-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
textarea.fc { min-height:120px; }
select.fc   { cursor:pointer; }
.ct-info-b  { padding:28px; background:var(--gray-bg); border-radius:var(--rl); margin-bottom:22px; }
.ct-ii { display:flex; align-items:flex-start; gap:13px; margin-bottom:18px; }
.ct-ii:last-child { margin-bottom:0; }
.ct-ico { width:38px; height:38px; border-radius:9px; background:var(--orange-pale); color:var(--orange); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.ct-lbl { font-size:.75rem; font-weight:600; text-transform:uppercase; letter-spacing:.09em; color:var(--gray); margin-bottom:2px; font-family:var(--fh); }
.ct-val { font-weight:600; font-size:.94rem; }
.ct-val a { color:inherit; text-decoration:none; }
.ct-val a:hover { color:var(--orange); }
.map-ph { height:200px; border-radius:var(--rl); background:var(--gray-bg); border:1px solid var(--border); display:flex; align-items:center; justify-content:center; flex-direction:column; gap:8px; color:var(--gray); }
.socs   { display:flex; gap:9px; margin-top:18px; }
.soc-btn { width:40px; height:40px; border-radius:9px; border:2px solid var(--border); display:flex; align-items:center; justify-content:center; color:var(--gray); transition:all .2s; text-decoration:none; }
.soc-btn:hover { background:var(--orange); border-color:var(--orange); color:#fff; }

/* ─────────────────────────────────────────────
   FOOTER
───────────────────────────────────────────── */
footer { background:var(--dark); color:#fff; padding:68px 0 30px; }
.ft-g  { display:grid; grid-template-columns:1.5fr 1fr 1fr 1.2fr; gap:44px; margin-bottom:52px; }
.ft-brand p { color:rgba(255,255,255,.52); font-size:.9rem; margin:14px 0 22px; line-height:1.78; }
.ft-col h5  { font-family:var(--fh); font-weight:700; margin-bottom:18px; font-size:.92rem; color:#fff; }
.ft-links   { display:flex; flex-direction:column; gap:9px; }
.ft-lnk { color:rgba(255,255,255,.52); font-size:.88rem; cursor:pointer; transition:color .2s; text-decoration:none; }
.ft-lnk:hover { color:var(--orange); }
.ft-ci  { display:flex; align-items:center; gap:9px; color:rgba(255,255,255,.52); font-size:.86rem; margin-bottom:11px; }
.ft-ci svg { color:var(--orange); flex-shrink:0; }
.ft-ci:last-child { margin-bottom:0; }
.ft-bot { border-top:1px solid rgba(255,255,255,.1); padding-top:22px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; }
.ft-bot p { color:rgba(255,255,255,.38); font-size:.82rem; }
.ft-socs { display:flex; gap:7px; margin-top:4px; }
.ft-soc  { width:34px; height:34px; border-radius:7px; border:1px solid rgba(255,255,255,.14); display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,.48); cursor:pointer; transition:all .2s; text-decoration:none; }
.ft-soc:hover { background:var(--orange); border-color:var(--orange); color:#fff; }

/* Scroll to top */
.sc-top { position:fixed; bottom:28px; right:28px; width:46px; height:46px; background:var(--orange); color:#fff; border-radius:11px; display:none; align-items:center; justify-content:center; cursor:pointer; z-index:999; box-shadow:0 4px 16px rgba(244,96,12,.38); transition:all .2s; border:none; }
.sc-top:hover { transform:translateY(-3px); }
.sc-top.vis { display:flex; }

/* ─────────────────────────────────────────────
   RESPONSIVE — 1024px
───────────────────────────────────────────── */
@media (max-width:1024px) {
  .g3 { grid-template-columns:repeat(2,1fr); }
  .ft-g { grid-template-columns:repeat(2,1fr); }
  .diff-g { grid-template-columns:1fr; }
  .g2 { grid-template-columns:1fr; }
  .aimg-w img { height:320px; }
  .svc-full { grid-template-columns:1fr; }
  .svc-full:nth-child(even) .svc-img { order:0; }
  .svc-full:nth-child(even) .svc-cnt { order:1; }
  .svc-img img { min-height:260px; }
  .steps-g { grid-template-columns:repeat(2,1fr); gap:28px; }
  .steps-g::before { display:none; }
  .ct-g { grid-template-columns:1fr; }
  .gal-grid { grid-template-columns:repeat(2,1fr); }
  .gal-grid.home-gal { grid-template-columns:repeat(2,1fr); }
  .lb-prev { left:-44px; }
  .lb-next { right:-44px; }
}

/* ─────────────────────────────────────────────
   RESPONSIVE — 768px
───────────────────────────────────────────── */
@media (max-width:768px) {
  nav, .hdr-act .btn { display:none; }
  .ham { display:flex; }
  .sec { padding:60px 0; }
  .g3 { grid-template-columns:1fr; }
  .ft-g { grid-template-columns:1fr; gap:28px; }
  .f-row { grid-template-columns:1fr; }
  .hero { min-height:auto; padding-bottom:56px; }
  .hero-stats { gap:24px; flex-wrap:wrap; }
  .hero-ctas { flex-direction:column; }
  .hero-ctas .btn { justify-content:center; }
  .cta-btns { flex-direction:column; align-items:center; }
  .cta-btns .btn { justify-content:center; width:100%; max-width:300px; }
  .trust-in { gap:18px; justify-content:flex-start; }
  .steps-g { grid-template-columns:1fr; }
  .ft-bot { flex-direction:column; text-align:center; }
  .ft-socs { justify-content:center; }
  .mission-b { padding:28px 20px; }
  .gal-grid, .gal-grid.home-gal { grid-template-columns:repeat(2,1fr); gap:10px; }
  .gal-tabs { flex-wrap:wrap; border-radius:14px; justify-content:center; }
  .port-tabs-pill { flex-wrap:wrap; border-radius:14px; }
  .lb-prev { left:-36px; }
  .lb-next { right:-36px; }
  .svc-cnt { padding:28px 20px; }
  .ct-form { padding:24px 16px; }
}

/* ─────────────────────────────────────────────
   RESPONSIVE — 480px
───────────────────────────────────────────── */
@media (max-width:480px) {
  .gal-grid, .gal-grid.home-gal { grid-template-columns:1fr; }
  .steps-g { grid-template-columns:1fr; }
  .hero-bg { width:100%; opacity:.15; }
  .lb-prev { left:-28px; }
  .lb-next { right:-28px; }
}
