:root {
      --bg:         hsl(0,0%,100%);
      --fg:         hsl(220,20%,10%);
      --card:       hsl(0,0%,100%);
      --primary:    hsl(197,78%,61%);
      --muted:      hsl(210,20%,96%);
      --muted-fg:   hsl(220,10%,45%);
      --accent:     hsl(197,78%,95%);
      --accent-fg:  hsl(197,78%,30%);
      --border:     hsl(220,13%,91%);
    }
    *, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
    html { scroll-behavior:smooth; }
    body { font-family:"Lato",sans-serif; background:var(--bg); color:var(--fg); -webkit-font-smoothing:antialiased; }
    img { max-width:100%; display:block; }
    a { text-decoration:none; }
    button { cursor:pointer; font-family:inherit; }
    ::-webkit-scrollbar { width:6px; }
    ::-webkit-scrollbar-track { background:var(--muted); }
    ::-webkit-scrollbar-thumb { background:hsla(197,78%,61%,.4); border-radius:3px; }

    @keyframes fadeInUp  { from{opacity:0;transform:translateY(30px)} to{opacity:1;transform:translateY(0)} }
    @keyframes pulseBg   { 0%,100%{opacity:1} 50%{opacity:.5} }
    @keyframes bounce    { 0%,100%{transform:translateY(0)} 50%{transform:translateY(8px)} }
    @keyframes spin      { to{transform:rotate(360deg)} }
    @keyframes scaleIn   { from{opacity:0;transform:scale(.8)} to{opacity:1;transform:scale(1)} }

    .reveal { opacity:1 !important; transform:none !important; }

    .icon-sm  { width:16px;height:16px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0; }
    .icon-md  { width:20px;height:20px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0; }
    .icon-lg  { width:24px;height:24px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0; }
    .icon-xl  { width:28px;height:28px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0; }
    .icon-2xl { width:32px;height:32px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0; }

    .section-max  { max-width:1200px;margin:0 auto;padding:0 2rem; }
    .section-tag  { font-size:.75rem;font-weight:900;color:var(--primary);letter-spacing:.18em;text-transform:uppercase; }
    .section-h2   { font-size:clamp(2rem,4vw,3rem);font-weight:900;letter-spacing:-.02em;line-height:1.1;margin:.6rem 0 1.2rem; }
    .section-desc { color:var(--muted-fg);font-size:1.1rem;line-height:1.7;max-width:680px; }
    .text-center  { text-align:center; }
    .mx-auto      { margin-left:auto;margin-right:auto; }

    /* NAVBAR */
    #navbar { position:fixed;top:0;left:0;right:0;z-index:100;transition:background .4s,box-shadow .4s,border-color .4s;border-bottom:1px solid transparent; }
    #navbar.scrolled { background:rgba(255,255,255,.96);backdrop-filter:blur(20px);box-shadow:0 4px 24px hsla(197,78%,61%,.06);border-bottom-color:var(--border); }
    .nav-inner { max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;align-items:center;justify-content:space-between;height:80px; }
    .nav-logo img { height:40px;width:auto;transition:transform .3s; }
    .nav-logo:hover img { transform:scale(1.05); }
    .nav-links { display:flex;align-items:center;gap:.25rem; }
    .nav-links a { padding:.5rem 1rem;font-size:.8rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;border-radius:8px;transition:color .2s,background .2s; }
    #navbar:not(.scrolled) .nav-links a { color:rgba(255,255,255,.8); }
    #navbar:not(.scrolled) .nav-links a:hover { color:white;background:rgba(255,255,255,.1); }
    #navbar.scrolled .nav-links a { color:hsla(220,20%,10%,.7); }
    #navbar.scrolled .nav-links a:hover { color:var(--primary);background:var(--accent); }
    .btn-nav { display:inline-flex;align-items:center;gap:.5rem;margin-left:1rem;padding:.6rem 1.4rem;background:var(--primary);color:white;font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;border:none;border-radius:8px;transition:background .2s; }
    .btn-nav:hover { background:hsl(197,78%,50%); }
    .nav-toggle { display:none;background:none;border:none;padding:.5rem;border-radius:8px; }
    #navbar:not(.scrolled) .nav-toggle { color:white; }
    #navbar.scrolled .nav-toggle { color:var(--fg); }
    #mobile-menu { display:none;position:fixed;inset:0;z-index:90;background:rgba(255,255,255,.98);backdrop-filter:blur(20px);padding-top:100px; }
    #mobile-menu.open { display:block;animation:fadeInUp .3s ease; }
    .mobile-links { display:flex;flex-direction:column;gap:.5rem;padding:0 2rem; }
    .mobile-links a { display:block;padding:1rem 0;font-size:1.75rem;font-weight:900;color:var(--fg);border-bottom:1px solid var(--border);transition:color .2s; }
    .mobile-links a:hover { color:var(--primary); }
    .btn-mobile { display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;margin-top:1.5rem;padding:1.2rem;background:var(--primary);color:white;font-size:1.1rem;font-weight:900;border:none;border-radius:12px; }

    /* HERO */
    #hero { position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:hsl(220,25%,8%); }
    .hero-orb-1 { position:absolute;top:25%;left:-8rem;width:24rem;height:24rem;border-radius:50%;background:hsla(197,78%,61%,.1);filter:blur(48px);animation:pulseBg 4s ease-in-out infinite; }
    .hero-orb-2 { position:absolute;bottom:25%;right:-8rem;width:24rem;height:24rem;border-radius:50%;background:hsla(200,76%,74%,.1);filter:blur(48px);animation:pulseBg 4s ease-in-out infinite 2s; }
    .hero-ring { position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;border:1px solid hsla(197,78%,61%,.06); }
    .hero-grid { position:absolute;inset:0;opacity:.03;background-image:linear-gradient(hsl(197,78%,61%) 1px,transparent 1px),linear-gradient(90deg,hsl(197,78%,61%) 1px,transparent 1px);background-size:60px 60px; }
    .hero-content { position:relative;z-index:10;text-align:center;padding:2rem;max-width:860px; }
    .hero-logo { height:5rem;width:auto;margin:0 auto 2rem;animation:scaleIn .6s ease .2s both; }
    .hero-pill { display:inline-flex;align-items:center;gap:.6rem;padding:.5rem 1.25rem;border-radius:999px;border:1px solid hsla(197,78%,61%,.3);background:hsla(197,78%,61%,.05);margin-bottom:2rem;animation:fadeInUp .6s ease .3s both; }
    .hero-dot { width:8px;height:8px;border-radius:50%;background:var(--primary);animation:pulseBg 2s infinite; }
    .hero-pill-text { font-size:.78rem;font-weight:900;color:var(--primary);letter-spacing:.18em;text-transform:uppercase; }
    .hero-h1 { font-size:clamp(2.8rem,8vw,5.5rem);font-weight:900;letter-spacing:-.04em;line-height:1.05;color:white;margin-bottom:1.5rem;animation:fadeInUp .7s ease .1s both; }
    .hero-h1 .accent { color:var(--primary);display:block; }
    .hero-p { max-width:640px;margin:0 auto 2.5rem;font-size:1.15rem;line-height:1.7;color:rgba(255,255,255,.6);animation:fadeInUp .7s ease .2s both; }
    .hero-ctas { display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:center;animation:fadeInUp .7s ease .3s both; }
    .btn-primary { display:inline-flex;align-items:center;gap:.6rem;padding:1rem 2rem;background:var(--primary);color:white;font-size:1rem;font-weight:900;border:none;border-radius:12px;transition:background .2s,transform .15s; }
    .btn-primary:hover { background:hsl(197,78%,50%);transform:translateY(-1px); }
    .btn-outline { display:inline-flex;align-items:center;gap:.6rem;padding:1rem 2rem;border:1px solid hsla(197,78%,61%,.3);color:var(--primary);font-size:1rem;font-weight:900;background:transparent;border-radius:12px;transition:background .2s; }
    .btn-outline:hover { background:hsla(197,78%,61%,.1); }
    .hero-scroll { position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);background:none;border:none;color:hsla(197,78%,61%,.5);cursor:pointer;animation:fadeInUp .5s ease 1.2s both;transition:color .2s; }
    .hero-scroll:hover { color:var(--primary); }

    /* SERVICES */
    #services { padding:7rem 0;background:var(--bg); }
    .services-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.75rem;margin-top:3.5rem; }
    .service-card { position:relative;background:var(--card);border:1px solid var(--border);border-radius:16px;padding:2rem;transition:border-color .4s,box-shadow .4s,transform .3s;overflow:hidden; }
    .service-card:hover { border-color:hsla(197,78%,61%,.3);box-shadow:0 20px 48px hsla(197,78%,61%,.08);transform:translateY(-2px); }
    .service-card::after { content:'';position:absolute;bottom:0;left:2rem;right:2rem;height:2px;background:var(--primary);border-radius:999px;transform:scaleX(0);transition:transform .4s; }
    .service-card:hover::after { transform:scaleX(1); }
    .card-icon { width:56px;height:56px;border-radius:12px;background:hsla(197,78%,61%,.1);display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;color:var(--primary);transition:background .4s,transform .4s; }
    .service-card:hover .card-icon { background:hsla(197,78%,61%,.2);transform:scale(1.1); }
    .card-subtitle { font-size:.7rem;font-weight:900;color:var(--primary);letter-spacing:.18em;text-transform:uppercase;margin-bottom:.4rem; }
    .card-title { font-size:1.2rem;font-weight:900;margin-bottom:.75rem; }
    .card-desc { font-size:.875rem;color:var(--muted-fg);line-height:1.65;margin-bottom:1.5rem; }
    .card-tags { display:flex;flex-wrap:wrap;gap:.5rem; }
    .tag { font-size:.7rem;font-weight:900;padding:.35rem .75rem;border-radius:999px;background:var(--accent);color:var(--accent-fg); }

    /* INDUSTRIES */
    #industries { padding:7rem 0;background:hsl(220,25%,8%);position:relative;overflow:hidden; }
    .ind-dots { position:absolute;inset:0;opacity:.03;background-image:radial-gradient(circle at 1px 1px,hsl(197,78%,61%) 1px,transparent 0);background-size:40px 40px; }
    #industries .section-h2 { color:white; }
    #industries .section-desc { color:rgba(255,255,255,.5); }
    .industries-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:3rem; }
    @media(min-width:480px) { .industries-grid { grid-template-columns:repeat(3,1fr); } }
    @media(min-width:640px) { .industries-grid { grid-template-columns:repeat(4,1fr); } }
    @media(min-width:900px) { .industries-grid { grid-template-columns:repeat(6,1fr); } }
    .ind-card { display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem 1rem;border:1px solid hsla(197,78%,61%,.1);background:hsla(197,78%,61%,.05);border-radius:16px;transition:background .3s,border-color .3s,transform .3s;cursor:default; }
    .ind-card:hover { background:hsla(197,78%,61%,.12);border-color:hsla(197,78%,61%,.25);transform:translateY(-2px); }
    .ind-icon-wrap { width:48px;height:48px;border-radius:12px;background:hsla(197,78%,61%,.1);display:flex;align-items:center;justify-content:center;color:var(--primary);transition:background .3s,transform .3s; }
    .ind-card:hover .ind-icon-wrap { background:hsla(197,78%,61%,.2);transform:scale(1.1); }
    .ind-name { font-size:.8rem;font-weight:900;color:rgba(255,255,255,.8);text-align:center; }

    /* CLIENTS */
    #clients { padding:7rem 0;background:hsl(210,20%,97%); }
    .clients-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:3rem;max-width:900px; }
    @media(min-width:480px) { .clients-grid { grid-template-columns:repeat(3,1fr); } }
    @media(min-width:700px) { .clients-grid { grid-template-columns:repeat(4,1fr); } }
    .client-card { display:flex;align-items:center;justify-content:center;padding:1.5rem 1rem;background:var(--card);border:1px solid var(--border);border-radius:16px;transition:border-color .3s,box-shadow .3s; }
    .client-card:hover { border-color:hsla(197,78%,61%,.3);box-shadow:0 8px 28px hsla(197,78%,61%,.08); }
    .client-name { font-size:.85rem;font-weight:900;color:hsla(220,20%,10%,.55);text-align:center;transition:color .3s;line-height:1.3; }
    .client-card:hover .client-name { color:var(--primary); }

    /* ABOUT */
    #about { padding:7rem 0;background:var(--bg); }
    .about-grid { display:grid;grid-template-columns:1fr;gap:4rem;align-items:center; }
    @media(min-width:900px) { .about-grid { grid-template-columns:1fr 1fr;gap:6rem; } }
    .about-p { color:var(--muted-fg);font-size:1.05rem;line-height:1.75;margin-bottom:1.25rem; }
    .about-leader { display:flex;align-items:flex-start;gap:1.25rem;padding:1.5rem;border-radius:16px;background:var(--accent);border:1px solid var(--border);margin-top:2rem; }
    .leader-avatar { width:64px;height:64px;border-radius:50%;background:hsla(197,78%,61%,.2);display:flex;align-items:center;justify-content:center;flex-shrink:0; }
    .leader-initials { font-size:1.3rem;font-weight:900;color:var(--primary); }
    .leader-name { font-size:1.1rem;font-weight:900; }
    .leader-title { font-size:.85rem;font-weight:700;color:var(--primary);margin-bottom:.4rem; }
    .leader-bio { font-size:.85rem;color:var(--muted-fg);line-height:1.6; }
    .values-grid { display:grid;grid-template-columns:1fr;gap:1.25rem; }
    @media(min-width:480px) { .values-grid { grid-template-columns:repeat(2,1fr); } }
    .value-card { padding:1.5rem;border-radius:16px;border:1px solid var(--border);transition:border-color .3s,box-shadow .3s; }
    .value-card:hover { border-color:hsla(197,78%,61%,.2);box-shadow:0 6px 20px hsla(197,78%,61%,.06); }
    .val-icon { width:48px;height:48px;border-radius:12px;background:hsla(197,78%,61%,.1);display:flex;align-items:center;justify-content:center;margin-bottom:1rem;color:var(--primary); }
    .val-title { font-size:1rem;font-weight:900;margin-bottom:.5rem; }
    .val-desc { font-size:.85rem;color:var(--muted-fg);line-height:1.65; }

    /* CONTACT */
    #contact { padding:7rem 0;background:hsl(220,25%,8%);position:relative;overflow:hidden; }
    .contact-orb-1 { position:absolute;top:0;right:0;width:24rem;height:24rem;background:hsla(197,78%,61%,.05);border-radius:50%;filter:blur(60px); }
    .contact-orb-2 { position:absolute;bottom:0;left:0;width:24rem;height:24rem;background:hsla(200,76%,74%,.05);border-radius:50%;filter:blur(60px); }
    #contact .section-h2 { color:white; }
    #contact .section-desc { color:rgba(255,255,255,.5); }
    .contact-grid { display:grid;grid-template-columns:1fr;gap:3rem;margin-top:3.5rem; }
    @media(min-width:900px) { .contact-grid { grid-template-columns:2fr 3fr;gap:4rem; } }
    .contact-info-list { display:flex;flex-direction:column;gap:1rem; }
    .contact-info-item { display:flex;align-items:flex-start;gap:1.25rem;padding:1.5rem;border-radius:16px;border:1px solid hsla(197,78%,61%,.1);background:hsla(197,78%,61%,.05);text-decoration:none;transition:background .3s,border-color .3s; }
    .contact-info-item:hover { background:hsla(197,78%,61%,.1);border-color:hsla(197,78%,61%,.25); }
    .ci-icon { width:48px;height:48px;border-radius:12px;background:hsla(197,78%,61%,.15);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--primary);transition:background .3s; }
    .contact-info-item:hover .ci-icon { background:hsla(197,78%,61%,.25); }
    .ci-label { font-size:.65rem;font-weight:900;color:hsla(197,78%,61%,.7);letter-spacing:.15em;text-transform:uppercase;margin-bottom:.3rem; }
    .ci-value { font-size:.9rem;font-weight:900;color:rgba(255,255,255,.85);white-space:pre-line; }
    .contact-cta-box { margin-top:1rem;padding:1.5rem;border-radius:16px;border:1px solid hsla(197,78%,61%,.2);background:hsla(197,78%,61%,.1); }
    .cta-box-title { font-size:.95rem;font-weight:900;color:rgba(255,255,255,.85);margin-bottom:.5rem; }
    .cta-box-text { font-size:.85rem;color:rgba(255,255,255,.5);line-height:1.6;margin-bottom:1rem; }
    .cta-box-link { display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:900;color:var(--primary); }
    .cta-box-link:hover { text-decoration:underline; }
    .contact-form-wrap { padding:2.5rem;border-radius:24px;border:1px solid hsla(197,78%,61%,.1);background:hsla(197,78%,61%,.05);backdrop-filter:blur(12px); }
    .form-row { display:grid;grid-template-columns:1fr;gap:1.25rem;margin-bottom:1.25rem; }
    @media(min-width:500px) { .form-row { grid-template-columns:1fr 1fr; } }
    .form-group { display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.25rem; }
    .form-label { font-size:.68rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.6); }
    .form-input,.form-textarea { width:100%;padding:.85rem 1rem;background:hsla(197,78%,61%,.05);border:1px solid hsla(197,78%,61%,.15);border-radius:8px;color:white;font-family:inherit;font-size:.9rem;outline:none;transition:border-color .2s; }
    .form-input::placeholder { color:rgba(255,255,255,.3); }
    .form-input:focus { border-color:var(--primary); }
    .form-select { appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.4)' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem;cursor:pointer; }
    .form-select option { background:hsl(220,25%,12%);color:white; }
    .btn-submit { width:100%;padding:1.1rem;display:flex;align-items:center;justify-content:center;gap:.6rem;background:var(--primary);color:white;border:none;border-radius:12px;font-size:1rem;font-weight:900;font-family:inherit;transition:background .2s;cursor:pointer; }
    .btn-submit:hover { background:hsl(197,78%,50%); }
    .spinner { width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:white;border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0; }
    .g-recaptcha { transform-origin:left top; }
    @media(max-width:360px) { .g-recaptcha { transform:scale(0.85); } }

    /* FOOTER */
    footer { background:var(--bg);border-top:1px solid var(--border); }
    .footer-inner { max-width:1200px;margin:0 auto;padding:4rem 2rem 2rem; }
    .footer-grid { display:grid;grid-template-columns:1fr;gap:3rem;margin-bottom:3rem; }
    @media(min-width:700px) { .footer-grid { grid-template-columns:repeat(3,1fr); } }
    .footer-logo { height:40px;width:auto;margin-bottom:1rem; }
    .footer-tagline { font-size:.875rem;font-weight:900;color:var(--primary);margin-top:1rem; }
    .footer-bio { font-size:.875rem;color:var(--muted-fg);line-height:1.65;max-width:260px; }
    .footer-col h4 { font-size:.72rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:var(--fg);margin-bottom:1.25rem; }
    .footer-links { display:flex;flex-direction:column;gap:.75rem; }
    .footer-links button { font-size:.875rem;font-weight:700;color:var(--muted-fg);background:none;border:none;text-align:left;transition:color .2s;cursor:pointer; }
    .footer-links button:hover { color:var(--primary); }
    .footer-contact-list { display:flex;flex-direction:column;gap:1rem; }
    .footer-contact-item { display:flex;align-items:flex-start;gap:.75rem;text-decoration:none;color:var(--primary); }
    .footer-contact-item span { font-size:.875rem;font-weight:700;color:var(--muted-fg);transition:color .2s; }
    .footer-contact-item:hover span { color:var(--primary); }
    .footer-bottom { padding-top:2rem;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem; }
    .footer-bottom p { font-size:.75rem;color:var(--muted-fg); }
    .footer-bottom p:last-child { opacity:.5; }

    @media(max-width:900px) { .nav-links,.btn-nav { display:none; } .nav-toggle { display:block; } }
    @media(max-width:600px) { .hero-logo { height:3.5rem; } .section-max { padding:0 1.25rem; } .contact-form-wrap { padding:1.5rem; } }