*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
:root {
    --bg: #0c0c0c; --bg2: #111; --text: #f0ede8; --muted: rgba(240,237,232,0.55);
    --orange: #e85d04; --yellow: #f4a261; --border: rgba(255,255,255,0.08);
    --font-d: 'Oswald', sans-serif; --font-b: 'Inter', sans-serif;
}
html { scroll-behavior: smooth; }
body { background: var(--bg); color: var(--text); font-family: var(--font-b); overflow-x: hidden; cursor: none; }
a { text-decoration: none; color: inherit; }

/* ===== HAMMER CURSOR ===== */
.hammer-cursor {
    position: fixed;
    width: 36px; height: 36px;
    pointer-events: none;
    z-index: 9999;
    top: 0; left: 0;
    filter: drop-shadow(0 3px 8px rgba(0,0,0,.6));
    will-change: transform;
}

.ws-badge { position:fixed; bottom:28px; right:28px; z-index:9999; display:flex; align-items:center; gap:12px; background:rgba(4,3,3,0.93); backdrop-filter:blur(24px); -webkit-backdrop-filter:blur(24px); border:1px solid rgba(232,93,4,0.2); border-radius:16px; padding:14px 20px 14px 14px; text-decoration:none; color:var(--text); box-shadow:0 8px 40px rgba(0,0,0,0.5); transition:transform 0.35s,box-shadow 0.35s,border-color 0.35s; animation:wsEntry 0.8s 0.6s cubic-bezier(0.34,1.4,0.64,1) both; }
.ws-badge:hover { transform:translateY(-5px) scale(1.03); box-shadow:0 20px 60px rgba(0,0,0,0.6),0 0 32px rgba(232,93,4,0.2); border-color:rgba(232,93,4,0.5); }
@keyframes wsEntry { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:translateY(0)} }
.ws-badge-icon { width:36px; height:36px; background:rgba(232,93,4,0.1); border:1px solid rgba(232,93,4,0.25); border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:1.1rem; color:var(--orange); transition:transform 0.3s; flex-shrink:0; }
.ws-badge:hover .ws-badge-icon { transform:translateX(-3px); }
.ws-badge-body { display:flex; flex-direction:column; gap:1px; }
.ws-badge-name { display:block; font-size:0.85rem; font-weight:700; letter-spacing:0.04em; color:var(--orange); }
.ws-badge-sub { display:block; font-size:0.7rem; color:rgba(240,237,232,0.45); margin-top:2px; }
.label { font-size:0.7rem; letter-spacing:0.22em; text-transform:uppercase; color:var(--orange); display:block; margin-bottom:16px; }

/* ===== NAV ===== */
.nav { position:fixed; top:0; left:0; right:0; z-index:100; display:flex; align-items:center; padding:20px 60px; transition:background 0.4s; }
.nav.scrolled { background:rgba(12,12,12,0.95); backdrop-filter:blur(16px); border-bottom:1px solid var(--border); }
.nav-logo { font-family:var(--font-d); font-size:1.6rem; letter-spacing:0.1em; }
.nav-logo span { color:var(--orange); }
.nav-links { display:flex; list-style:none; gap:32px; margin:0 auto; }
.nav-links a { font-size:0.78rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted); transition:color 0.2s; }
.nav-links a:hover { color:var(--text); }
.nav-cta { padding:10px 24px; background:var(--orange); color:#fff; font-size:0.8rem; font-weight:600; transition:background 0.3s, transform 0.2s; }
.nav-cta:hover { background:#c94b00; transform:translateY(-2px); }

/* ===== BUTTONS ===== */
.btn { display:inline-block; padding:14px 32px; font-weight:600; font-size:0.875rem; letter-spacing:0.05em; transition:all 0.3s; cursor:pointer; border:none; }
.btn-primary { background:var(--orange); color:#fff; }
.btn-primary:hover { background:#c94b00; transform:translateY(-2px); }
.btn-outline { background:transparent; color:var(--text); border:1px solid rgba(255,255,255,0.3); }
.btn-outline:hover { border-color:var(--text); background:rgba(255,255,255,.05); }

/* ===== HERO ===== */
.hero { height:100vh; position:relative; display:flex; flex-direction:column; justify-content:flex-end; padding:0 60px 60px; overflow:hidden; }
.hero-bg { position:absolute; inset:0; background-size:cover; background-position:center; filter:brightness(0.45) saturate(0.7); will-change:transform; }
.hero-overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(12,12,12,0.9) 0%,rgba(12,12,12,0.2) 60%,transparent 100%); }
.hero-content { position:relative; z-index:2; max-width:800px; overflow:hidden; }
.hero-badge { display:inline-block; padding:6px 16px; background:var(--orange); color:#fff; font-size:0.7rem; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; margin-bottom:20px; }
.hero-title { font-family:var(--font-d); font-size:clamp(2.6rem,7.5vw,9rem); line-height:0.95; letter-spacing:0.02em; margin-bottom:20px; overflow-wrap:break-word; word-break:break-word; hyphens:auto; }
.hero-title span { color:var(--orange); }
.hero-sub { font-size:1rem; color:var(--muted); max-width:480px; margin-bottom:36px; line-height:1.7; overflow-wrap:break-word; word-break:break-word; }
.hero-actions { display:flex; gap:16px; }
.hero-stats { position:relative; z-index:2; display:flex; align-items:center; margin-top:60px; background:rgba(255,255,255,.05); backdrop-filter:blur(10px); border:1px solid var(--border); width:fit-content; }
.hs { padding:20px 36px; text-align:center; }
.hs strong { font-family:var(--font-d); font-size:1.8rem; color:var(--orange); display:block; }
.hs span { font-size:0.75rem; color:var(--muted); }
.hs-divider { width:1px; height:40px; background:var(--border); }

/* ===== MARQUEE ===== */
.marquee-bar { overflow:hidden; border-top:1px solid var(--border); border-bottom:1px solid var(--border); padding:14px 0; background:var(--bg2); }
.marquee-track { display:flex; gap:32px; white-space:nowrap; animation:marquee 18s linear infinite; font-size:0.75rem; font-weight:500; color:var(--muted); letter-spacing:0.12em; text-transform:uppercase; }
.marquee-track span:nth-child(odd) { color:var(--orange); }
@keyframes marquee { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* ===== ABOUT INTRO ===== */
.about-intro { display:grid; grid-template-columns:1fr 1fr; gap:80px; padding:100px 60px; align-items:center; }
.ai-left h2 { font-family:var(--font-d); font-size:clamp(2.5rem,4vw,3.5rem); line-height:1.05; margin-bottom:20px; }
.ai-left p { color:var(--muted); line-height:1.8; margin-bottom:36px; }
.trust-badges { display:flex; gap:24px; }
.tb { padding:16px 20px; border:1px solid var(--border); text-align:center; }
.tb strong { display:block; font-family:var(--font-d); font-size:1.2rem; color:var(--orange); }
.tb span { font-size:0.7rem; color:var(--muted); text-transform:uppercase; letter-spacing:0.08em; }
.ai-img-grid { display:grid; grid-template-columns:1fr 1fr; grid-template-rows:1fr 1fr; gap:8px; height:480px; }
.aig-img { background-size:cover; background-position:center; transition:transform 0.6s ease; }
.aig-img:hover { transform:scale(1.02); }
.aig-img.tall { grid-row:span 2; }

/* ===== PROCESS ===== */
.process { padding:100px 60px; background:var(--bg2); }
.process-header { text-align:center; margin-bottom:60px; }
.process-header .sec-title { text-align:center; }
.container { max-width:1200px; margin:0 auto; }
.process-steps {
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:0;
    position:relative;
}
.process-steps::before {
    content:'';
    position:absolute;
    top:48px;
    left:10%;
    right:10%;
    height:2px;
    background:linear-gradient(to right, var(--orange), rgba(232,93,4,0.2));
    z-index:0;
}
.process-step { text-align:center; position:relative; z-index:1; padding:0 12px; }
.ps-circle {
    width:96px; height:96px; border-radius:50%;
    background:var(--bg); border:2px solid var(--orange);
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    margin:0 auto 1.5rem;
    position:relative;
    transition:transform 0.3s, box-shadow 0.3s;
}
.ps-circle:hover { transform:scale(1.08); box-shadow:0 0 30px rgba(232,93,4,0.4); }
.ps-icon { font-size:1.4rem; margin-bottom:2px; }
.ps-num { font-family:var(--font-d); font-size:0.9rem; color:var(--orange); letter-spacing:0.1em; }
.ps-connector { display:none; }
.process-step h3 { font-family:var(--font-d); font-size:1.1rem; letter-spacing:0.05em; margin-bottom:0.6rem; overflow-wrap:break-word; word-break:break-word; }
.process-step p { font-size:0.78rem; color:var(--muted); line-height:1.65; overflow-wrap:break-word; word-break:break-word; }

/* ===== PROJECTS ===== */
.projects { padding:100px 60px; background:var(--bg2); }
.projects-header { margin-bottom:48px; }
.projects-header h2 { font-family:var(--font-d); font-size:clamp(2.5rem,5vw,4.5rem); line-height:1; }
.projects-grid { display:grid; grid-template-columns:1.5fr 1fr; grid-template-rows:1fr 1fr; gap:8px; height:600px; }
.project-card { position:relative; overflow:hidden; cursor:pointer; }
.project-card.large { grid-row:span 2; }
.proj-img { width:100%; height:100%; background-size:cover; background-position:center; transition:transform 0.7s cubic-bezier(0.25,0.46,0.45,0.94); }
.project-card:hover .proj-img { transform:scale(1.06); }
.proj-overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(12,12,12,.85) 0%,transparent 50%); }
.proj-info { position:absolute; bottom:0; left:0; right:0; padding:28px; }
.proj-cat { font-size:0.7rem; letter-spacing:0.15em; text-transform:uppercase; color:var(--orange); display:block; margin-bottom:6px; }
.proj-info h3 { font-family:var(--font-d); font-size:1.5rem; letter-spacing:0.05em; }
.proj-info p { font-size:0.8rem; color:var(--muted); margin-top:4px; }

/* ===== TIMELINE ===== */
.timeline { padding:100px 60px; background:var(--bg); }
.timeline-header { text-align:center; margin-bottom:70px; }
.timeline-track { position:relative; max-width:900px; margin:0 auto; }
.timeline-track::before {
    content:'';
    position:absolute;
    left:50%;
    top:0; bottom:0;
    width:2px;
    background:linear-gradient(to bottom, var(--orange), rgba(232,93,4,0.2));
    transform:translateX(-50%);
}
.tl-item {
    display:grid;
    grid-template-columns:1fr 40px 1fr;
    align-items:start;
    gap:0;
    margin-bottom:60px;
    position:relative;
}
.tl-left .tl-content { grid-column:1; text-align:right; padding-right:30px; }
.tl-left .tl-dot { grid-column:2; justify-self:center; margin-top:8px; }
.tl-right .tl-dot { grid-column:2; justify-self:center; margin-top:8px; }
.tl-right .tl-content { grid-column:3; text-align:left; padding-left:30px; }
.tl-dot {
    width:18px; height:18px; border-radius:50%;
    background:var(--orange); border:3px solid var(--bg);
    box-shadow:0 0 0 3px var(--orange);
    z-index:2;
    transition:transform 0.3s, box-shadow 0.3s;
}
.tl-item:hover .tl-dot { transform:scale(1.3); box-shadow:0 0 0 3px var(--orange), 0 0 20px rgba(232,93,4,0.6); }
.tl-year { font-family:var(--font-d); font-size:1.4rem; color:var(--orange); letter-spacing:0.1em; display:block; margin-bottom:8px; }
.tl-content h3 { font-family:var(--font-d); font-size:1.1rem; letter-spacing:0.05em; margin-bottom:8px; }
.tl-content p { font-size:0.84rem; color:var(--muted); line-height:1.7; }

/* ===== STATS SECTION ===== */
.stats-section { padding:100px 60px; background:var(--bg2); }
.stats-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:2px; background:var(--border); }
.stat-card {
    background:var(--bg2);
    padding:50px 20px; text-align:center;
    transition:background 0.3s, transform 0.3s;
    position:relative; overflow:hidden;
}
.stat-card:hover { background:#1a1a1a; transform:translateY(-4px); }
.stat-card::before {
    content:'';
    position:absolute; bottom:0; left:0; right:0; height:3px;
    background:var(--orange);
    transform:scaleX(0); transform-origin:left;
    transition:transform 0.4s ease;
}
.stat-card:hover::before { transform:scaleX(1); }
.stat-num {
    font-family:var(--font-d); font-size:clamp(2.5rem,4vw,3.5rem);
    color:var(--orange); display:block; line-height:1;
    margin-bottom:4px;
}
.stat-unit { font-family:var(--font-d); font-size:1.5rem; color:var(--orange); vertical-align:top; }
.stat-label { font-size:0.72rem; letter-spacing:0.15em; text-transform:uppercase; color:var(--muted); display:block; margin-top:8px; }

/* ===== SERVICES ===== */
.services { padding:100px 60px; }
.sec-title { font-family:var(--font-d); font-size:clamp(2.5rem,5vw,4rem); line-height:1; margin-bottom:48px; overflow-wrap:break-word; word-break:break-word; hyphens:auto; }
.services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; background:var(--border); }
.svc-card { background:var(--bg); padding:36px 28px; position:relative; transition:background 0.3s; }
.svc-card:hover { background:#1a1a1a; }
.svc-card::before { content:attr(data-num); position:absolute; top:20px; right:20px; font-family:var(--font-d); font-size:2rem; color:rgba(232,93,4,0.15); }
.svc-card h3 { font-family:var(--font-d); font-size:1.3rem; letter-spacing:0.05em; color:var(--text); margin-bottom:12px; overflow-wrap:break-word; word-break:break-word; }
.svc-card p { font-size:0.875rem; color:var(--muted); line-height:1.7; overflow-wrap:break-word; word-break:break-word; }

/* ===== CTA BANNER ===== */
.cta-banner { position:relative; min-height:380px; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.cta-bg { position:absolute; inset:0; background-size:cover; background-position:center; filter:brightness(0.3) saturate(0.5); }
.cta-overlay { position:absolute; inset:0; background:rgba(232,93,4,0.12); }
.cta-content { position:relative; z-index:2; text-align:center; max-width:600px; padding:0 24px; }
.cta-content h2 { font-family:var(--font-d); font-size:clamp(2.5rem,5vw,4rem); margin-bottom:16px; overflow-wrap:break-word; word-break:break-word; hyphens:auto; }
.cta-content p { color:var(--muted); margin-bottom:32px; }

/* ===== TESTIMONIALS ===== */
.testimonials { padding:100px 60px; background:var(--bg2); }
.testimonials .sec-title { margin-bottom:48px; }
.testimonials-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.test-card {
    padding:40px 32px; border:1px solid var(--border); background:var(--bg);
    position:relative; transition:border-color 0.3s, transform 0.3s;
}
.test-card:hover { border-color:rgba(232,93,4,0.35); transform:translateY(-5px); }
.test-quote {
    font-family:Georgia,serif; font-size:5rem; line-height:1;
    color:var(--orange); opacity:0.35; position:absolute; top:20px; left:24px;
}
.test-card p { font-size:0.9rem; line-height:1.8; color:var(--muted); margin-bottom:2rem; padding-top:1.5rem; font-style:italic; }
.test-author { display:flex; align-items:center; gap:14px; }
.test-avatar {
    width:44px; height:44px; border-radius:50%;
    background:var(--orange); color:#fff;
    display:flex; align-items:center; justify-content:center;
    font-weight:700; font-size:0.85rem; flex-shrink:0;
}
.test-author strong { display:block; font-size:0.88rem; margin-bottom:3px; }
.test-author span { font-size:0.75rem; color:var(--muted); }

/* ===== CONTACT ===== */
.contact { padding:100px 60px; }
.contact-inner { display:grid; grid-template-columns:1fr 1.5fr; gap:80px; max-width:1200px; }
.contact-left h2 { font-family:var(--font-d); font-size:clamp(2.5rem,4vw,3.5rem); line-height:1; margin-bottom:32px; }
.contact-details { display:flex; flex-direction:column; gap:16px; }
.contact-details > div { display:flex; flex-direction:column; gap:4px; }
.contact-details strong { font-size:0.7rem; text-transform:uppercase; letter-spacing:0.1em; color:var(--orange); }
.contact-details span { color:var(--muted); font-size:0.9rem; }
.contact-form { display:flex; flex-direction:column; gap:16px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.contact-form input, .contact-form textarea {
    background:transparent; border:none; border-bottom:2px solid var(--border);
    padding:14px 0; color:var(--text); font-family:var(--font-b); font-size:0.9rem;
    outline:none; resize:none; transition:border-color 0.2s; width:100%;
}
.contact-form input::placeholder, .contact-form textarea::placeholder { color:var(--muted); }
.contact-form input:focus, .contact-form textarea:focus { border-color:var(--orange); }

/* ===== FOOTER ===== */
.footer { border-top:1px solid var(--border); padding:32px 60px; }
.footer-inner { display:flex; justify-content:space-between; align-items:center; }
.footer-logo { font-family:var(--font-d); font-size:1.2rem; letter-spacing:0.15em; }
.footer p { font-size:0.875rem; color:var(--muted); }
.footer a { color:var(--orange); }

/* ===== RESPONSIVE ===== */
@media (max-width: 1100px) {
    .process-steps { grid-template-columns:repeat(3,1fr); }
    .process-steps::before { display:none; }
    .stats-grid { grid-template-columns:repeat(3,1fr); }
}
@media (max-width: 768px) {
    .nav { padding:16px 24px; }
    .nav-links, .nav-cta { display:none; }
    .hero { padding:0 24px 40px; }
    .hero-stats { display:none; }
    .about-intro, .contact-inner { grid-template-columns:1fr; padding:60px 24px; }
    .ai-img-grid { height:300px; }
    .projects { padding:60px 24px; }
    .projects-grid { grid-template-columns:1fr; grid-template-rows:auto; height:auto; }
    .project-card { height:220px; }
    .project-card.large { grid-row:span 1; height:300px; }
    .services, .timeline, .testimonials, .stats-section, .process, .contact { padding:60px 24px; }
    .services-grid, .testimonials-grid { grid-template-columns:1fr; }
    .stats-grid { grid-template-columns:repeat(2,1fr); }
    .process-steps { grid-template-columns:repeat(2,1fr); gap:24px; }
    .timeline-track::before { left:20px; }
    .tl-item { grid-template-columns:0 40px 1fr; }
    .tl-left .tl-content { grid-column:3; text-align:left; padding-right:0; padding-left:16px; }
    .tl-right .tl-content { padding-left:16px; }
    .form-row { grid-template-columns:1fr; }
    .footer { padding:24px; }
    .footer-inner { flex-direction:column; gap:12px; text-align:center; }
}
