html, body { margin: 0; padding: 0; }
/* styles.css v13 — base + portfolio patch (mobile-first, responsive) */

/* design tokens */
:root{
  --bg:#0b0b0b;
  --panel:#0f0f0f;
  --muted:#9aa0a6;
  --accent:#ff6b18;
  --card: rgba(255,255,255,0.03);
  --max-width:1100px;
  --radius:12px;
  --site-header-height:72px;
  --ff-base:"Poppins",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial;
  --ff-head:"Oswald","Poppins",sans-serif;
}

/* reset & safety */
*{box-sizing:border-box}
html,body{margin:0;padding:0;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body{
  font-family:var(--ff-base);color:#fff;background:var(--bg);
  min-height:100vh;padding-top:var(--site-header-height);-webkit-overflow-scrolling:touch;
  /* DO NOT set overflow-y here (prevents double-scrollbar) */
}

/* media responsiveness */
img,picture,svg,video,iframe{display:block;max-width:100%;height:auto}

/* container */
.container{max-width:var(--max-width);margin:0 auto;padding:0 18px;width:100%}

/* header/nav */
.site-header{position:fixed;left:0;right:0;top:0;height:var(--site-header-height);background:linear-gradient(180deg, rgba(4,4,4,0.94), rgba(8,8,8,0.72));border-bottom:1px solid rgba(255,255,255,0.03);z-index:1200;display:flex;align-items:center}
.nav{width:100%;display:flex;align-items:center;justify-content:space-between;padding:10px 18px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit}
.brand-img{height:44px;width:auto}
.brand-text{font-family:var(--ff-head);font-weight:700;font-size:1rem}

/* primary nav links */
.nav-links{display:flex;gap:12px;align-items:center;list-style:none;margin:0;padding:0}
.nav-links a{color:var(--muted);text-decoration:none;padding:8px 10px;border-radius:8px;font-weight:600;display:inline-block}
.nav-links a:hover{color:#fff}

/* hamburger panel for mobile */
#nav-toggle{display:none;background:transparent;border:0;color:var(--muted);font-size:20px}
@media (max-width:900px){
  #nav-toggle{display:block}
  .nav-links{
    position:fixed;top:calc(var(--site-header-height) + 8px);right:18px;background:var(--panel);
    padding:10px;border-radius:12px;flex-direction:column;gap:8px;display:none;z-index:1300;box-shadow:0 14px 36px rgba(0,0,0,0.6);
    max-width:calc(100% - 36px);
  }
  .nav-links.open{display:flex}
  .nav-links a{width:100%;padding:10px 12px}
}

/* hero - edge-to-edge */
.hero{position:relative;min-height:calc(100vh - var(--site-header-height));display:flex;align-items:center;justify-content:center;overflow:hidden}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;left:0;top:0;transform:none;filter:brightness(.36);z-index:0}
.hero-overlay{position:relative;z-index:2;padding:20px 0;display:flex;align-items:center;justify-content:center}
.hero-inner{width:100%;max-width:980px;background:linear-gradient(180deg, rgba(10,10,10,0.18), rgba(10,10,10,0.56));padding:16px;border-radius:12px;text-align:center}
.hero-inner h1{font-family:var(--ff-head);font-size:clamp(1.3rem,4vw,2rem);margin:0 0 8px}
.hero-lead{color:var(--muted);margin:0 0 12px}
.hero-info{color:var(--muted);font-size:0.92rem;margin-top:8px}

/* buttons */
.btn{display:inline-block;padding:10px 14px;border-radius:10px;text-decoration:none;font-weight:700;cursor:pointer}
.btn.primary{background:var(--accent);color:#081218}
.btn.ghost{background:transparent;border:1px solid rgba(255,255,255,0.04);color:var(--muted)}

/* link-cta (explicit button-like link) */
.link-cta{display:inline-block;padding:10px 14px;border-radius:10px;text-decoration:none;font-weight:700;cursor:pointer}
.link-cta.btn.ghost{background:transparent;border:1px solid rgba(255,255,255,0.04);padding:8px 12px;color:var(--accent)}

/* sections */
.section{padding:44px 0}
.section-title{font-family:var(--ff-head);font-size:1.4rem;text-align:center;margin:0 0 6px}
.section-sub{color:var(--muted);text-align:center;margin:0 0 16px}

/* services */
.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-top:14px}
.service-card{background:var(--card);padding:14px;border-radius:10px;border:1px solid rgba(255,255,255,0.03);min-height:120px}
.service-icon{font-size:20px;color:var(--accent);margin-bottom:8px}

/* onrequest */
.onrequest-banner{margin-top:18px;border-radius:12px;padding:12px;background:linear-gradient(90deg, rgba(255,107,24,0.06), rgba(255,107,24,0.02));border:1px solid rgba(255,107,24,0.06)}
.onrequest-inner{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}

/* featured carousel */
.featured-carousel{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x proximity;padding:12px 0;-webkit-overflow-scrolling:touch}
.featured-card{flex:0 0 280px;scroll-snap-align:start;background:var(--panel);border-radius:10px;padding:10px;border:1px solid rgba(255,255,255,0.03)}
.featured-thumb{height:160px;border-radius:8px;overflow:hidden;background:#000;display:flex;align-items:center;justify-content:center}
.featured-thumb img{width:100%;height:100%;object-fit:cover}

/* portfolio preview row */
.portfolio-row{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:12px}
.video-card{flex:1 1 280px;max-width:340px;min-width:0;background:var(--panel);border-radius:10px;overflow:hidden;border:1px solid rgba(255,255,255,0.03)}
.video-wrap{width:100%;height:0;padding-bottom:56.25%;position:relative}
.video-wrap iframe{position:absolute;left:0;top:0;width:100%;height:100%;border:0}

/* pricing */
.pricing-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:14px}
.pricing-card{padding:12px;border-radius:10px;background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));border:1px solid rgba(255,255,255,0.03)}
.pricing-card.featured{box-shadow:0 8px 26px rgba(0,0,0,0.5);border:1px solid rgba(255,107,24,0.08)}
.price{color:var(--accent);font-weight:800;margin:8px 0}

/* testimonials */
.testimonials{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:14px}
.testimonial{padding:12px;border-radius:10px;background:var(--panel);border:1px solid rgba(255,255,255,0.03);color:var(--muted)}

/* contact */
.contact-wrap{display:grid;grid-template-columns:1fr 320px;gap:14px;margin-top:12px;align-items:start}
.contact-form{background:var(--card);padding:12px;border-radius:10px;border:1px solid rgba(255,255,255,0.03)}
.field{display:block;margin-bottom:8px}
.label-text{display:block;font-weight:700;margin-bottom:6px;color:#fff}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;padding:10px;border-radius:8px;border:1px solid rgba(255,255,255,0.04);background:transparent;color:#fff;font-size:0.95rem}

/* contact aside */
.contact-info.card{background:var(--panel);padding:12px;border-radius:10px;border:1px solid rgba(255,255,255,0.03)}

/* footer */
.site-footer{padding:16px 0;border-top:1px solid rgba(255,255,255,0.03);margin-top:22px}
.footer-logo{height:40px}

/* accessibility focus */
a:focus,button:focus,input:focus,textarea:focus{outline:3px solid rgba(255,107,24,0.16);outline-offset:2px}

/* small screens adjustments */
@media (max-width:900px){
  .contact-wrap{grid-template-columns:1fr}
  .featured-card{flex:0 0 240px}
  .video-card{max-width:100%}
  .hero-inner{padding:12px}
  .pricing-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
}

/* extra small devices */
@media (max-width:420px){
  .brand-text{display:none}
  .hero-inner h1{font-size:1.25rem}
  .featured-thumb{height:140px}
  .featured-card{flex:0 0 220px;padding:10px}
  .contact-form input,.contact-form textarea{font-size:0.95rem}
}

/* Active nav link highlight added by assistant */
.nav-links a.active{ border-bottom:2px solid #ff6b18; padding-bottom:4px; }




/* Sticky header */
.site-header {
  position: sticky;
  top: 0;
  z-index: 9999;
  
  -webkit-
  box-shadow: 0 2px 8px rgba(0,0,0,0.5);
}

/* Increase tap target for nav and CTAs */
.nav-links a, .nav-links .btn, .brand, .btn.primary, .btn-primary {
  padding: 12px 14px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
}

/* Hero: stronger primary CTA & subtle background pattern */
.hero {
  position: relative;
  overflow: hidden;
}
.hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgba(255,255,255,0.01) 1px, transparent 1px);
  background-size: 24px 24px;
  opacity: 0.08;
  pointer-events: none;
}

/* Typography hierarchy */
h1 { font-size: 2.25rem; line-height: 1.05; font-weight: 800; margin: 0 0 12px; }
h2 { font-size: 1.6rem; line-height: 1.1; font-weight: 800; margin: 0 0 10px; }
h3 { font-size: 1.05rem; margin:0; font-weight:700; }
p, li { line-height: 1.6; color: var(--color-white); }

/* Portfolio card hover preview tweak */
.yt-thumb img { transition: transform .28s ease; }
.yt-card:hover .yt-thumb img, .yt-card:focus .yt-thumb img { transform: scale(1.04); }

/* Uniform card heights */
.card-body { min-height: 88px; display:flex; flex-direction:column; }

/* Testimonials & FAQ card styles */
.testimonial, .faq-item {
  background: rgba(255,255,255,0.02);
  border-radius: 10px;
  padding: 14px;
  margin-bottom: 12px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.5);
}
.testimonial .quote { font-size:1.05rem; font-weight:600; margin-bottom:8px; }
.testimonial .author { opacity:0.85; font-size:0.9rem; }

.faq-item summary { cursor: pointer; font-weight:700; padding:8px 0; }
.faq-item[open] { box-shadow: 0 8px 24px rgba(0,0,0,0.6); }

/* Blog card preview suggestion */
.blog-card { display:flex; gap:12px; background: rgba(255,255,255,0.02); padding:12px; border-radius:10px; align-items:center; }
.blog-card img { width:120px; height:80px; object-fit:cover; border-radius:8px; }

/* Footer social hover */
.footer-social .social-link:hover { color: var(--color-accent); transform: translateY(-3px); transition: transform .18s, color .18s; }

/* Subtle animations */



/* Smooth scroll */
html { scroll-behavior: smooth; }

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  .yt-card, 
  :root { scroll-behavior: auto; }
}



/* Header top-of-page fix applied by assistant */
html, body { margin: 0; padding: 0; }
.site-header { position: fixed !important; top: 0 !important; left: 0; right: 0; z-index: 99999; box-shadow: 0 2px 8px rgba(0,0,0,0.5); }
/* Make sure main content is not hidden under the fixed header */
body > .site-header + * , header + * , .site-header + .container { margin-top: var(--site-header-height, 72px); }
/* If header is inside body but not first child, also ensure body padding-top fallback */
body { padding-top: var(--site-header-height, 72px); }



/* Assistant fixes: header font consistency, select visibility, featured section enhancements */

/* Ensure header uses base font and consistent sizing */
.site-header, .site-header * { font-family: var(--ff-base) !important; color: var(--color-white) !important; }

/* Nav link font weight consistency */
.nav-links a, .nav-links a.* { font-family: var(--ff-base) !important; font-weight:700 !important; }

/* Fix select dropdown visibility */
select, select option, select optgroup {
  background: var(--panel) !important;
  color: var(--color-white) !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
}
select option { color: var(--color-white) !important; background: var(--panel) !important; }
select:focus { outline: 2px solid rgba(255,107,24,0.18); box-shadow: 0 6px 18px rgba(255,107,24,0.06); }

/* Improve featured/selected work list styling */
.selected-work, .featured-list, .featured-grid { display:grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap:16px; margin: 12px 0; }
.selected-work .item, .featured-list li, .featured-grid .card {
  background: rgba(255,255,255,0.02);
  padding: 12px;
  border-radius:10px;
  box-shadow: 0 8px 22px rgba(0,0,0,0.55);
  display:flex; flex-direction:column; gap:8px;
}
.featured-grid .card img { width:100%; height:140px; object-fit:cover; border-radius:8px; }

/* Make sure every page header (faq/blog/etc) loads header styles consistently */
header.site-header { height: var(--site-header-height,72px); display:flex; align-items:center; }

/* Small-screen improvements */
@media (max-width: 720px) {
  .selected-work, .featured-list, .featured-grid { grid-template-columns: repeat(auto-fit,minmax(160px,1fr)); gap:12px; }
  .nav-links { gap:10px; }
  .site-header { padding:8px 12px; }
}
