/* ============================================================
   Precision Collective — main.css v5.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; }
}

/* ───────────────────────────────────────────────
   v5 EDITABLE PAGE + FRAME YOUR VIEW COMPETITION
─────────────────────────────────────────────── */
.pc-editor-hero{position:relative;background:#161a1d;overflow:hidden;color:#fff}.pc-editor-hero:before{content:"";position:absolute;inset:0;background-image:var(--pc-editor-hero);background-size:cover;background-position:center;opacity:.34}.pc-editor-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,19,22,.94),rgba(16,19,22,.62) 60%,rgba(16,19,22,.35))}.pc-editor-hero .sec-lbl{background:rgba(244,96,12,.18);color:var(--orange-l)}.pc-editor-hero .dxl{color:#fff}.pc-page-intro{color:rgba(255,255,255,.72);font-size:1.06rem;line-height:1.8;max-width:650px;margin-top:18px}.pc-editor-content .wp-content{max-width:1040px;margin:auto}.wp-content>*+*{margin-top:1.1em}.wp-content h2,.wp-content h3,.wp-content h4{font-family:var(--fh);color:var(--dark)}.wp-content img{max-width:100%;height:auto;border-radius:var(--r)}

.comp-hero{position:relative;overflow:hidden;background:#111517;color:#fff;padding:150px 0 92px}.comp-hero:before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(26,173,163,.26),rgba(26,173,163,0) 68%);right:-100px;top:-100px}.comp-hero:after{content:"";position:absolute;width:440px;height:440px;border-radius:50%;background:radial-gradient(circle,rgba(232,88,26,.28),rgba(232,88,26,0) 67%);left:-110px;bottom:-190px}.comp-grid-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,#000,transparent 85%)}.comp-hero-in{position:relative;z-index:2;max-width:850px}.comp-kicker{display:inline-flex;padding:8px 13px;border-radius:999px;background:rgba(232,88,26,.16);border:1px solid rgba(244,123,32,.32);color:#ffb17d;font:700 .74rem/1 var(--fh);letter-spacing:.08em;text-transform:uppercase}.comp-hero h1{font-size:clamp(3.2rem,8vw,7.2rem);line-height:.92;margin-top:20px;letter-spacing:-.055em}.comp-hero-sub{max-width:720px;font-size:1.15rem;line-height:1.75;color:rgba(255,255,255,.73);margin-top:24px}.comp-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.comp-outline{border-color:rgba(255,255,255,.3)!important;color:#fff!important}.comp-prize-line{margin-top:36px;padding-left:18px;border-left:3px solid var(--blue);font:700 1rem/1.5 var(--fh);color:#fff}.comp-intro{background:#fff}.comp-intro-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start}.comp-lead{font-size:1.12rem;line-height:1.8;color:var(--gray)}.comp-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.comp-badges span{border:1px solid #e5e7eb;background:#fff;border-radius:999px;padding:8px 11px;font:600 .78rem/1 var(--fh);color:#454b50}.comp-section-head{max-width:720px;margin:0 auto 46px}.comp-section-head>p{color:var(--gray);margin-top:13px}.comp-step-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.comp-step-card{border-radius:20px;overflow:hidden;background:#fff;border:1px solid #eceff1;box-shadow:0 16px 45px rgba(16,24,40,.07)}.comp-step-media{height:185px;position:relative;background:linear-gradient(145deg,#151a1d,#262c30);overflow:hidden}.comp-step-media:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.38),transparent 65%)}.comp-step-media img{width:100%;height:100%;object-fit:cover;display:block}.comp-step-number{position:absolute;z-index:2;left:16px;bottom:12px;font:800 2.2rem/1 var(--fh);color:#fff;letter-spacing:-.05em}.comp-step-copy{padding:22px}.comp-step-label{font:700 .7rem/1 var(--fh);letter-spacing:.08em;text-transform:uppercase;color:var(--orange);margin-bottom:10px}.comp-step-copy h3{margin-bottom:8px}.comp-step-copy p{color:var(--gray);font-size:.92rem;line-height:1.65}.comp-hunt{background:#f7f7f8}.comp-hunt-card{display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;border-radius:24px;background:#fff;padding:30px 34px;border:1px solid #e9ecef;box-shadow:0 16px 50px rgba(16,24,40,.06)}.comp-hunt-icon{width:66px;height:66px;border-radius:18px;display:grid;place-items:center;background:rgba(26,173,163,.12);color:var(--blue);font:800 2rem/1 var(--fh)}.comp-hunt-card p{color:var(--gray);margin-top:10px;line-height:1.65}.comp-shortcode-note{font-size:.78rem!important;color:#8b9297!important}.comp-shortcode-note code{background:#f1f3f4;padding:2px 6px;border-radius:5px}.comp-prize-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.comp-prize-card{position:relative;overflow:hidden;border-radius:24px;padding:38px;background:#151a1d;color:#fff}.comp-prize-card:after{content:"";position:absolute;width:210px;height:210px;border-radius:50%;right:-70px;top:-70px;background:rgba(255,255,255,.06)}.comp-prize-card.business{background:linear-gradient(145deg,#0f6661,#1AADA3)}.comp-prize-card.home{background:linear-gradient(145deg,#b8400d,#E8581A)}.comp-prize-icon{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:rgba(255,255,255,.14);font-size:1.5rem;margin-bottom:26px}.comp-prize-type{font:700 .72rem/1 var(--fh);text-transform:uppercase;letter-spacing:.09em;opacity:.72;margin-bottom:10px}.comp-prize-card h3{color:#fff;margin-bottom:12px}.comp-prize-card p{color:rgba(255,255,255,.76);line-height:1.72;max-width:520px}.comp-share{background:#111517;color:#fff}.comp-share-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}.comp-share .dlg{color:#fff}.comp-share p{color:rgba(255,255,255,.65);line-height:1.75;margin-top:15px}.comp-hashtag-card{border-radius:22px;padding:30px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.055);display:flex;flex-direction:column;align-items:flex-start}.comp-hashtag-card span,.comp-hashtag-card small{color:rgba(255,255,255,.55);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}.comp-hashtag-card strong{font:800 clamp(1.7rem,4vw,3.1rem)/1 var(--fh);color:#fff;margin:12px 0 18px;letter-spacing:-.04em}.comp-date-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:900px;margin:auto}.comp-date-grid div{padding:24px;border:1px solid #e9ecef;border-radius:16px;background:#fff}.comp-date-grid span{display:block;color:var(--gray);font-size:.8rem;margin-bottom:8px}.comp-date-grid strong{font:700 1.05rem/1.3 var(--fh)}.comp-terms{background:#f7f7f8}.comp-terms-card{display:grid;grid-template-columns:1fr 1fr;gap:50px;background:#fff;border-radius:24px;padding:38px;border:1px solid #e9ecef}.comp-terms-card p{color:var(--gray);line-height:1.75;margin-top:13px}.comp-contact-line{font-size:.82rem;color:#687078;margin-top:18px}.comp-terms-details{border:1px solid #e7e9eb;border-radius:14px;background:#fbfbfc}.comp-terms-details summary{cursor:pointer;padding:17px 18px;font:700 .9rem/1.3 var(--fh);list-style:none}.comp-terms-details summary::-webkit-details-marker{display:none}.comp-terms-details summary:after{content:"+";float:right;color:var(--orange);font-size:1.2rem}.comp-terms-details[open] summary:after{content:"−"}.comp-terms-body{padding:0 18px 18px;color:var(--gray);font-size:.9rem;line-height:1.7}.comp-terms-body p+p{margin-top:12px}.comp-final{background:linear-gradient(135deg,#E8581A,#c8450f)}.pc-hidden-word{display:inline-flex;align-items:center;gap:10px;border-radius:999px;padding:9px 13px;background:#fff7ed;border:1px dashed var(--orange);color:#7c2d12;font-family:var(--fh)}.pc-hidden-word-label{text-transform:uppercase;letter-spacing:.08em;font-size:.68rem;opacity:.7}.pc-hidden-word strong{font-size:1rem;letter-spacing:.08em;color:var(--orange)}

@media(max-width:980px){.comp-step-grid{grid-template-columns:repeat(2,1fr)}.comp-intro-grid,.comp-share-grid,.comp-terms-card{grid-template-columns:1fr;gap:28px}.comp-hunt-card{grid-template-columns:auto 1fr}.comp-hunt-card>.btn{grid-column:1/-1;justify-self:start}.comp-date-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.comp-hero{padding:122px 0 72px}.comp-hero h1{font-size:clamp(3.2rem,16vw,5rem)}.comp-step-grid,.comp-prize-grid,.comp-date-grid{grid-template-columns:1fr}.comp-step-media{height:220px}.comp-hunt-card{grid-template-columns:1fr;padding:24px}.comp-hunt-icon{width:56px;height:56px}.comp-terms-card{padding:24px}.comp-share-grid{gap:32px}}
.logo .custom-logo{display:block;max-height:46px;width:auto;max-width:220px;object-fit:contain}.comp-brandline{margin-top:16px;color:rgba(255,255,255,.52);font:600 .82rem/1.3 var(--fh);letter-spacing:.06em}

/* ───────────────────────────────────────────────
   v7 SALES-READY PRODUCT CATALOGUE + QUOTE FLOW
─────────────────────────────────────────────── */
.product-preview{background:#fff}.product-preview-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:34px}.product-preview-head>div{max-width:720px}.product-preview-head p{color:var(--gray);line-height:1.75;margin-top:12px}.product-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.product-mini-card{border:1px solid #e9ecef;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 12px 36px rgba(16,24,40,.055);transition:transform .2s,box-shadow .2s}.product-mini-card:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(16,24,40,.09)}.product-mini-media{display:block;position:relative;height:220px;overflow:hidden;background:#eceff1}.product-mini-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s}.product-mini-card:hover .product-mini-media img{transform:scale(1.035)}.product-mini-media span{position:absolute;left:14px;bottom:14px;background:rgba(17,21,23,.84);backdrop-filter:blur(8px);color:#fff;border-radius:999px;padding:7px 10px;font:700 .68rem/1 var(--fh);letter-spacing:.04em}.product-mini-copy{padding:20px}.product-mini-copy h3{font:750 1.05rem/1.3 var(--fh);margin-bottom:8px}.product-mini-copy p{color:var(--gray);font-size:.9rem;line-height:1.62;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.product-mini-copy>a{display:inline-flex;margin-top:14px;color:var(--orange);font:700 .82rem/1.2 var(--fh)}
.promise-card{padding:0!important;overflow:hidden}.promise-media{height:220px;position:relative;overflow:hidden;background:#edf0f2}.promise-media img{width:100%;height:100%;object-fit:cover;display:block}.promise-media:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(17,21,23,.4),transparent 58%)}.promise-media span{position:absolute;z-index:2;left:18px;bottom:14px;color:#fff;font:800 2.1rem/1 var(--fh)}.promise-copy{padding:24px}.promise-copy .t-co{margin-bottom:9px}.promise-copy h3{margin-bottom:9px}.promise-copy p{color:var(--gray);font-size:.92rem;line-height:1.7}
.product-catalogue{background:#f7f8f9}.catalog-intro{max-width:790px;margin:0 auto 54px}.catalog-intro p{color:var(--gray);line-height:1.78;margin-top:14px}.catalog-division+ .catalog-division{margin-top:72px}.catalog-division-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:28px}.catalog-division-head>div{max-width:770px}.catalog-division-head h3{margin-top:10px}.catalog-division-head p{color:var(--gray);line-height:1.72;margin-top:10px}.catalog-pill{display:inline-flex;align-items:center;border-radius:999px;padding:8px 11px;font:700 .7rem/1 var(--fh);letter-spacing:.06em;text-transform:uppercase}.catalog-pill.orange{color:#a53a0e;background:#fff0e8}.catalog-pill.teal{color:#0f6e68;background:#e7f8f6}.catalog-pill.green{color:#166534;background:#ecfdf3}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.product-card{display:flex;flex-direction:column;background:#fff;border:1px solid #e7eaed;border-radius:18px;overflow:hidden;min-width:0;box-shadow:0 10px 30px rgba(16,24,40,.045)}.product-card-media{position:relative;height:205px;overflow:hidden;background:#e9edef}.product-card-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s}.product-card:hover .product-card-media img{transform:scale(1.035)}.product-card-media span{position:absolute;left:13px;bottom:13px;border-radius:999px;padding:7px 9px;background:rgba(17,21,23,.82);color:#fff;font:700 .64rem/1 var(--fh)}.product-card-body{display:flex;flex-direction:column;flex:1;padding:19px}.product-card-body h4{font:750 1.02rem/1.3 var(--fh);margin-bottom:8px}.product-card-body>p{color:var(--gray);font-size:.88rem;line-height:1.62}.product-best{display:flex;gap:8px;align-items:flex-start;margin-top:14px;padding:11px 12px;border-radius:11px;background:#f7f8f9;color:#5b6369;font-size:.78rem;line-height:1.48}.product-best strong{color:var(--blue);font-size:.85rem}.product-quote{margin-top:auto;padding-top:16px;color:var(--orange);font:750 .8rem/1.25 var(--fh)}
.quote-checklist{background:#f7f8f9}.quote-check-head{margin-bottom:28px}.quote-check-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.quote-check-card{background:#fff;border:1px solid #e6e9eb;border-radius:15px;padding:20px}.quote-check-card strong{display:block;font:750 .94rem/1.35 var(--fh);margin-bottom:8px;color:var(--dark)}.quote-check-card p{color:var(--gray);font-size:.84rem;line-height:1.62}.contact-side-photo{border-radius:18px;overflow:hidden;margin-bottom:28px;height:250px;background:#edf0f2}.contact-side-photo img{width:100%;height:100%;object-fit:cover;display:block}.form-helper{font-size:.79rem;line-height:1.55;color:#70787e;background:#f6f7f8;border:1px solid #e8eaec;border-radius:10px;padding:11px 13px;margin:-2px 0 16px}.optional{font-weight:500;color:#8b9297}.ct-form .fc[type="url"]{width:100%}

@media(max-width:1100px){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.product-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.product-preview-head,.catalog-division-head{align-items:flex-start;flex-direction:column}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-card-media{height:190px}.product-mini-grid{grid-template-columns:1fr}.quote-check-grid{grid-template-columns:1fr}.contact-side-photo{height:220px}}
@media(max-width:520px){.product-grid{grid-template-columns:1fr}.product-card-media{height:230px}}
.about-audiences{background:#fff}.about-audiences-head{max-width:720px;margin:0 auto 34px}.about-audiences-head p{color:var(--gray);line-height:1.75;margin-top:12px}.about-audience-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.about-audience-card{border:1px solid #e7eaed;border-radius:17px;overflow:hidden;background:#fff}.about-audience-media{height:190px;background:#edf0f2;overflow:hidden}.about-audience-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s}.about-audience-card:hover img{transform:scale(1.035)}.about-audience-copy{padding:19px}.about-audience-copy h3{font:750 .98rem/1.35 var(--fh);margin-bottom:7px}.about-audience-copy p{color:var(--gray);font-size:.84rem;line-height:1.62}.catalog-division{scroll-margin-top:105px}.portfolio-reference-note{display:flex;align-items:flex-start;gap:12px;border:1px solid #dfe5e8;background:#fff;border-radius:13px;padding:14px 16px;margin-bottom:24px;color:#657078;font-size:.84rem;line-height:1.55}.portfolio-reference-note strong{color:var(--dark);font-family:var(--fh)}
@media(max-width:980px){.about-audience-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.about-audience-grid{grid-template-columns:1fr}.about-audience-media{height:220px}}
.catalog-note{display:inline-block;margin-top:14px;padding:9px 12px;border-radius:10px;background:#fff;border:1px solid #e5e8ea;color:#788087;font-size:.76rem;line-height:1.5;text-align:left}
