
:root{
  --accent:#E75C25;
  --accent-dark:#C84E1F;
  --bg:#ffffff;
  --muted:#6b7280;
  --ink:#0f172a;
  --ink-soft:#1f2937;
  --surface:#f6f7f9;
  --surface-strong:#eef1f5;
  --radius:12px;
  --shadow:0 8px 24px rgba(15,23,42,.08);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.6}

img{max-width:100%;display:block}
a{color:var(--accent);text-decoration:none}
a:hover{color:var(--accent-dark)}
.container{max-width:1100px;margin:0 auto;padding:0 20px}
.container.narrow{max-width:800px}

.site-header{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--surface-strong);z-index:1000}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0}
.brand{display:flex;align-items:center;gap:10px;color:var(--ink);font-weight:700;font-size:1.05rem}
.brand img{width:120px;height:auto}
.brand-text{display:none}
@media (min-width:640px){.brand-text{display:inline-block}}

.primary-nav{display:flex;gap:14px;align-items:center}
.primary-nav a{padding:8px 10px;border-radius:8px;color:var(--ink)}
.primary-nav a[aria-current="page"]{background:var(--surface);font-weight:600}
.primary-nav .cta{background:var(--accent);color:#fff}
.primary-nav .cta:hover{background:var(--accent-dark)}

.nav-toggle{display:inline-flex;flex-direction:column;gap:4px;background:transparent;border: none;cursor:pointer}
.nav-toggle .bar{width:24px;height:2px;background:var(--ink)}
@media (min-width:900px){.nav-toggle{display:none}}

@media (max-width:899px){
  .primary-nav{position:absolute;left:0;right:0;top:60px;background:#fff;border-bottom:1px solid var(--surface-strong);display:none;flex-direction:column;padding:10px 20px 20px}
  .primary-nav.open{display:flex}
}

.hero{padding:40px 0 20px;background:linear-gradient(180deg,#fff, #fafafa)}
.hero-inner{display:grid;gap:32px;align-items:center}
@media (min-width:900px){.hero-inner{grid-template-columns:1.2fr 1fr}}
.hero-copy h1{font-size:2.2rem;margin:0 0 10px}
@media (min-width:900px){.hero-copy h1{font-size:3rem}}
.lead{font-size:1.125rem;color:var(--ink-soft);margin:0 0 18px}
.hero-image img{border-radius:var(--radius);box-shadow:var(--shadow)}

.section{padding:28px 0}
.section.alt{background:var(--surface)}
.center{text-align:center}

.cards{display:grid;gap:16px}
.cards.two{grid-template-columns:1fr}
.cards.three{grid-template-columns:1fr}
@media (min-width:740px){
  .cards.two{grid-template-columns:1fr 1fr}
}
@media (min-width:900px){
  .cards.three{grid-template-columns:1fr 1fr 1fr}
}

.card{background:#fff;border: none;border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}
.card h3{margin-top:6px}

.bullets{display:grid;gap:14px}
@media (min-width:740px){.bullets{grid-template-columns:repeat(2,1fr)}}
@media (min-width:900px){.bullets{grid-template-columns:repeat(3,1fr)}}

.page-hero{padding:56px 0 20px;background:linear-gradient(180deg,#fff,#fafafa)}
.page-hero h1{margin:0 0 8px;font-size:2rem}
.page-hero .lead{margin-bottom:18px}

.hero-ctas{display:flex;flex-wrap:wrap;gap:12px}
.btn{display:inline-block;padding:12px 16px;border-radius:10px;border: none;font-weight:600}
.btn.primary{background:var(--accent);color:#fff}
.btn.primary:hover{background:var(--accent-dark)}
.btn.outline{border-color:var(--accent);color:var(--accent);background:#fff}
.btn.outline:hover{border-color:var(--accent-dark);color:var(--accent-dark)}
.btn.ghost{border-color:var(--surface-strong);background:#fff;color:var(--ink)}
.btn.ghost:hover{border-color:var(--accent)}

.arrow::after{content:" →"}

.who-we-help h2,.popular h2,.why h2{margin-top:0}

.promo-card{display:flex;gap:16px;align-items:center;justify-content:space-between;background:#fff;border: none;border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}

.contact-grid{display:grid;gap:20px}
@media (min-width:900px){.contact-grid{grid-template-columns:1fr 1.1fr}}
.contact-cards{display:grid;gap:16px}
.form-wrap{background:#fff;border: none;border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}
.contact-form label{display:block;font-weight:600;margin:10px 0 6px}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;padding:12px;border: none;border-radius:10px}
.contact-form button{margin-top:12px}

.site-footer{background:#0b1220;color:#d1d5db;margin-top:40px}
.footer-grid{display:grid;gap:20px;padding:28px 0}
@media (min-width:900px){.footer-grid{grid-template-columns:1.2fr .8fr .8fr}}
.footer-brand{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.footer-brand img{width:28px}
.footer-links{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.footer-links a{color:#d1d5db}
.footer-links a:hover{color:#fff}
.tagline{margin:.25rem 0 1rem}
.muted{color:var(--muted)}
.tiny{font-size:.9rem}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:12px 0;text-align:center}
.sr-only{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}


/* Custom circular hero avatar style */

.hero-inner{display:flex;flex-direction:column;align-items:center;text-align:center;gap:32px;}
.hero-image{display:flex;justify-content:center;align-items:center;width:260px;height:260px;margin:0 auto;
background:linear-gradient(180deg,#ffffff 0%, #f5f6f8 100%);
border-radius:50%;border: none;box-shadow:0 8px 24px rgba(0,0,0,.08);overflow:hidden;}
.hero-image img{width:90%;height:auto;border-radius:50%;}
@media(min-width:900px){
  .hero-inner{flex-direction:column;align-items:center;text-align:center;}
}


/* Hero logo + subtle entrance animation */
.hero-logo{width:280px;max-width:70vw;height:auto;border-radius:50%;border: none;box-shadow:var(--shadow);background:linear-gradient(180deg,#fff 0%, #f5f6f8 100%);padding:10px}
.hero-logo.animate-in{animation:heroLogoIn .55s ease-out both}
@keyframes heroLogoIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media (prefers-reduced-motion: reduce){
  .hero-logo.animate-in{animation:none}
}

/* Center the hero CTA when it is a single button */
.hero-ctas.center{justify-content:center}

.hero { display:flex; flex-direction:column; align-items:center; text-align:center; }

.hero-logo {
  margin: 0 auto 1.5rem auto;
  display: block;
}
.hero-logo img {
  border: none;
  outline: none;
}


@media (max-width:480px){
  .brand img{width:88px;}
}

/* --- Updates: layout tightening + grids --- */
.cards.two { grid-template-columns: repeat(2, 1fr); }
.cards.four { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 820px){
  .cards.two, .cards.four { grid-template-columns: 1fr; }
}

/* Hero logo centering safety */
.hero-copy { display:flex; flex-direction:column; align-items:center; text-align:center; }
.hero-logo { margin: 0 auto 14px auto; display:block; }

/* Remove any logo outline/border */
.hero-logo, .hero-logo img, .hero-logo.animate-in { border: none !important; outline: none !important; box-shadow: none !important; }

/* Header + footer logo sizing (increase) */
.site-header .brand img { width: 120px !important; height: auto; }
.site-footer .footer-brand img { width: 120px !important; height: auto; }


/* --- Icon links (footer + contact) --- */
.footer-grid > div:last-child { text-align: right; }
.footer-icons { display:flex; gap:10px; justify-content:flex-end; flex-wrap:wrap; margin-top:10px; }
.icon-btn { width:42px; height:42px; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; background: rgba(231,92,37,.12); border:1px solid rgba(231,92,37,.25); transition: transform .15s ease, background .15s ease; }
.icon-btn svg { width:20px; height:20px; fill: currentColor; }
.icon-btn:hover { transform: translateY(-1px); background: rgba(231,92,37,.18); }

.footer-bottom { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.footer-cta { margin-left:auto; }

/* Full-width card under 3-card grid */
.card.span-all { grid-column: 1 / -1; }

/* Contact icon tiles */
.contact-icons { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; padding: 6px 0 10px; }
.icon-tile .icon { display:inline-flex; width:44px; height:44px; border-radius:999px; align-items:center; justify-content:center; background: rgba(231,92,37,.12); border:1px solid rgba(231,92,37,.25); margin-bottom:10px; }
.icon-tile svg { width:22px; height:22px; fill: currentColor; }
.icon-tile .label { font-weight:700; font-size: 0.95rem; }
.icon-tile:hover { transform: translateY(-1px); }

.cards-spanner{margin-top:18px;}
.card.span-all{max-width:100%;}

/* --- Footer alignment + icon assets --- */
.footer-grid{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:start;}
.footer-grid > div:last-child{justify-self:end;text-align:right;}
.footer-bottom{display:flex;align-items:center;justify-content:flex-start;}

.site-header{padding-top:18px;padding-bottom:18px;}

.site-footer .footer-grid{align-items:flex-start;}
.site-footer .footer-icons{margin-top:-6px;}

/* Footer fine alignment tweak */
.site-footer .footer-grid > div:last-child {
  margin-top: -10px;
}

/* Why Tech Fixed CTA spacing */
.why-cta {
  margin-top: 20px;
  margin-bottom: 20px;
}
/* Contact page: buttons-only + Facebook placeholder */
.icon-tile.disabled{
  opacity:.55;
  pointer-events:none;
  position:relative;
}
.icon-tile .badge{
  display:inline-block;
  margin-top:8px;
  font-size:.75rem;
  padding:4px 10px;
  border-radius:999px;
  border:1px solid var(--border);
}
.fb-placeholder{
  font-weight:800;
  font-size:20px;
  line-height:1;
}
/* Make contact tiles responsive */
}
/* Contact page icons: responsive grid (prevents overlap) */
.contact-icons{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap:14px;
  align-items:stretch;
  margin-top: 10px;
}
.icon-tile{
  width: auto;
}
.icon-tile:hover{
  transform: translateY(-1px);
}
@media (max-width: 640px){
  .contact-icons{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Contact page alignment: keep methods inline with intro text width */
.page-hero + .section .contact-icons{ margin-left: 0; }
/* Footer icons: match contact page icon style */
.site-footer .icon-btn{
  width:44px;
  height:44px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background: rgba(231,92,37,.12);
  border:1px solid rgba(231,92,37,.25);
  color: rgba(255,255,255,.92);
}
.site-footer .icon-btn svg{
  width:22px;
  height:22px;
  fill: currentColor;
}
.site-footer .icon-btn:hover{
  transform: translateY(-1px);
  background: rgba(231,92,37,.18);
}
