:root{--lime:#bbff63;--black:#000;--white:#fff;--max:1214px;--brick:url("assets/brick-texture-clean.jpg");--hero:url("assets/company51-main-background.png")}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:#000}body{margin:0;background:#000;color:#fff;font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}
.skip-link{position:fixed;left:12px;top:-100px;z-index:9999;background:var(--lime);color:#000;padding:10px 14px;font-weight:800}.skip-link:focus{top:12px}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.brick-layer{position:absolute;inset:0;background-size:1040px 290px;background-position:center;background-repeat:repeat}.header-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.80),rgba(0,0,0,.66))}
.site-header{position:fixed;inset:0 0 auto;z-index:1000;height:110px;background:#000}.header-inner{position:relative;width:min(100%,var(--max));height:110px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 52px}
.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand-mark{width:62px;height:62px;object-fit:contain;flex:0 0 auto}.brand-copy{display:block}.brand-name{display:block;font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;font-size:36px;line-height:.84;letter-spacing:-.5px;width: 300px;}.brand-name b{color:var(--lime);font-weight:inherit}.brand-tagline{display:block;margin-top:5px;font:800 italic 12.75px/1 Montserrat,Arial,sans-serif;letter-spacing:3px}
.desktop-values{display:flex;align-items:center;gap:12px;font:800 10px/1 Montserrat,Arial,sans-serif;letter-spacing:1.5px}.desktop-values i{color:var(--lime);font-style:normal}.desktop-values a:hover{color:var(--lime)}.mobile-toggle{display:none}
.hero{position:relative;min-height:620px;margin-top:110px;overflow:hidden;background:#000 url("assets/company51-main-background.png") center center / cover no-repeat}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.06) 0%,rgba(0,0,0,.025) 48%,rgba(0,0,0,.02) 100%);pointer-events:none}.hero-inner{position:relative;width:min(100%,var(--max));min-height:620px;margin:0 auto;display:block}.hero-copy{position:relative;z-index:2;width:52%;min-height:620px;padding:42px 56px 35px;display:flex;flex-direction:column;justify-content:flex-start}.est{margin:0 0 5px;color:var(--lime);font:800 10px/1 Montserrat,Arial,sans-serif;letter-spacing:3px}.hero h1{margin:0;font:400 76px/.82 Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;letter-spacing:1px}.hero h1 span{color:var(--lime)}.hero-tagline{margin:27px 0 0;font:800 italic 16px/1.42 Montserrat,Arial,sans-serif;letter-spacing:3.8px}.hero-description{margin:15px 0 0;color:rgba(255,255,255,.78);font:400 14px/1.55 Arial,Helvetica,sans-serif}.signup{width:100%;max-width:510px;margin-top:21px}.signup form{display:flex;width:100%}.signup input{min-width:0;flex:1;height:52px;padding:0 16px;border:1px solid rgba(255,255,255,.42);border-right:0;background:rgba(0,0,0,.72);color:#fff;outline:none}.signup input::placeholder{color:rgba(255,255,255,.48)}.signup input:focus{border-color:var(--lime)}.signup button{width:155px;height:52px;border:0;background:var(--lime);color:#000;font:800 13px/1 Montserrat,Arial,sans-serif;letter-spacing:.7px;cursor:pointer}.signup button span{margin-left:22px;font-size:18px}.signup-note{margin:8px 0 0;color:rgba(255,255,255,.78);font-size:10px;letter-spacing:.3px}.form-status{min-height:16px;margin:3px 0 0;color:var(--lime);font-size:12px}
.pillars{position:relative;min-height:230px;overflow:hidden;border-top:1px solid rgba(255,255,255,.15);border-bottom:1px solid rgba(255,255,255,.15);background:#050505}.pillars:before{content:"";position:absolute;inset:0;background-image:var(--brick);background-size:1040px 290px;background-position:center 42%;opacity:.58}.pillars-inner{position:relative;width:min(100%,var(--max));min-height:230px;margin:0 auto;display:grid;grid-template-columns:repeat(5,1fr)}.pillar{min-height:230px;padding:20px 16px 12px;text-align:center;border-right:1px solid rgba(255,255,255,.14);display:flex;flex-direction:column;align-items:center}.pillar:first-child{border-left:1px solid rgba(255,255,255,.14)}.pillar img{width:68px;height:60px;object-fit:contain;margin-bottom:6px}.pillar h2{margin:0;font:400 19px/.9 Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;letter-spacing:.3px}.pillar p{margin:9px 0 0;color:rgba(255,255,255,.68);font-size:11px;line-height:1.45}
.closing{height:50px;background:#000;display:flex;align-items:center;justify-content:center;gap:34px}.closing span{width:76px;height:2px;background:var(--lime)}.closing p{margin:0;font:800 11px/1 Montserrat,Arial,sans-serif;letter-spacing:5px;color:rgba(255,255,255,.86)}
footer{background:#050505;border-top:1px solid rgba(255,255,255,.15)}.footer-main{width:min(100%,var(--max));min-height:245px;margin:0 auto;padding:34px 52px 28px;display:grid;grid-template-columns:270px 1fr 110px;gap:28px}.footer-mark{width:62px;height:62px;object-fit:contain}.footer-brand .brand-name{font-size:33px}.footer-brand .brand-tagline{font-size:11px}.socials{display:flex;gap:14px;margin-top:26px}.socials a{color:rgba(255,255,255,.82);font:700 20px/1 Arial,sans-serif}.socials a:hover{color:var(--lime)}.footer-links{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.footer-links h2{margin:5px 0 12px;font:800 10px/1 Montserrat,Arial,sans-serif;letter-spacing:1px}.footer-links a{display:block;margin-bottom:8px;color:rgba(255,255,255,.64);font-size:10px;line-height:1.25}.footer-links a:hover{color:var(--lime)}.footer-values{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:9px;color:rgba(255,255,255,.7);font:800 9px/1 Montserrat,Arial,sans-serif;letter-spacing:1.4px}
.footer-bottom{width:min(100%,var(--max));min-height:50px;margin:0 auto;padding:0 52px;border-top:1px solid rgba(255,255,255,.07);display:flex;align-items:center;justify-content:space-between;gap:20px;color:rgba(255,255,255,.48);font-size:9px}.footer-bottom p{margin:0}.footer-bottom nav{display:flex;gap:10px;align-items:center}.footer-bottom i{font-style:normal;color:rgba(255,255,255,.3)}.footer-bottom a:hover{color:var(--lime)}
.c51-offcanvas{background:#050505!important;color:#fff}.c51-offcanvas .offcanvas-header{border-bottom:1px solid rgba(255,255,255,.1)}.c51-offcanvas h2{margin:0;font:400 24px/.9 Impact,Haettenschweiler,sans-serif}.c51-offcanvas .offcanvas-body{display:flex;flex-direction:column;padding:0 22px}.c51-offcanvas .offcanvas-body>a{padding:17px 0;border-bottom:1px solid rgba(255,255,255,.1);font:800 12px/1 Montserrat,Arial,sans-serif;letter-spacing:1px;text-transform:uppercase}.c51-offcanvas .mobile-join{margin-top:22px;padding:16px;background:var(--lime);color:#000;text-align:center}
@media(max-width:900px){.site-header,.header-inner{height:88px}.header-inner{padding:0 20px}.brand-mark{width:52px;height:52px}.brand-name{font-size:29px}.desktop-values{display:none}.mobile-toggle{display:flex;width:44px;height:44px;flex-direction:column;justify-content:center;gap:5px;align-items:center;border:1px solid rgba(255,255,255,.2);background:rgba(0,0,0,.6)}.mobile-toggle span{width:23px;height:2px;background:var(--lime)}.hero{margin-top:88px;min-height:650px;background-position:62% center;background-size:auto 100%}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.84) 0%,rgba(0,0,0,.68) 42%,rgba(0,0,0,.24) 78%,rgba(0,0,0,.05) 100%)}.hero-inner{min-height:auto}.hero-copy{width:100%;min-height:650px;padding:38px 24px 28px;max-width:650px}.hero h1{font-size:clamp(58px,13vw,76px)}.hero-tagline{font-size:13px;letter-spacing:2.7px}.hero-description{font-size:14px}.hero-image-wrap{height:min(88vw,610px)}.pillars-inner{grid-template-columns:repeat(2,1fr)}.pillar{border-bottom:1px solid rgba(255,255,255,.14)}.pillar:nth-child(odd){border-left:1px solid rgba(255,255,255,.14)}.closing{padding:0 18px;gap:14px}.closing span{width:35px}.closing p{font-size:9px;letter-spacing:3px;text-align:center}.footer-main{grid-template-columns:1fr;padding:34px 24px 26px}.footer-values{align-items:flex-start;flex-direction:row;flex-wrap:wrap;gap:10px 16px}.footer-bottom{padding:16px 24px;flex-direction:column;align-items:flex-start}}
@media(max-width:560px){
.brand-tagline{letter-spacing:2px;font-size:6px}
.brand-name{font-size:25px}
.hero-copy{min-height:480px}
.hero-tagline{margin-top:23px}
.signup{width:100%;max-width:none;margin-top:22px}
.signup form{width:100%;flex-direction:column;gap:10px}
.signup input{width:100%;height:58px;min-height:58px;padding:0 18px;border:1px solid rgba(255,255,255,.42);background:rgba(0,0,0,.78);font-size:16px;border-radius:0;box-shadow:none}
.signup input::placeholder{font-size:14px}
.signup input:focus{border-color:var(--lime);box-shadow:0 0 0 1px var(--lime)}
.signup button{width:100%;height:56px;min-height:56px;border-radius:0;font-size:13px}
.signup button span{margin-left:20px}
.signup-note{margin-top:10px;font-size:9px;line-height:1.4;letter-spacing:.45px}
.pillars-inner{grid-template-columns:1fr}
.pillar{border-left:1px solid rgba(255,255,255,.14)!important}
.footer-links{grid-template-columns:repeat(2,1fr)}
}
/* =========================================================
   COMPANY 51 — CONSTANT CONTACT INLINE FORM
   ========================================================= */

.ctct-inline-form {
    width: 100% !important;
    max-width: 620px !important;
    margin: 26px 0 0 !important;
    padding: 0 !important;
    background: transparent !important;
    text-align: left !important;
}

/*
 * Constant Contact creates the form dynamically.
 * These rules intentionally target the generated form
 * underneath our .ctct-inline-form wrapper.
 */

.ctct-inline-form form {
    width: 100% !important;
    max-width: 620px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

/* Hide the Constant Contact form title/description.
   Your Company 51 hero already supplies the messaging. */

.ctct-inline-form [class*="title"],
.ctct-inline-form [class*="description"] {
    color: #ffffff;
}

/* Form fields */

.ctct-inline-form input[type="email"],
.ctct-inline-form input[type="text"],
.ctct-inline-form input[type="tel"] {
    box-sizing: border-box !important;

    width: 100% !important;
    max-width: 100% !important;

    height: 58px !important;
    min-height: 58px !important;

    margin: 0 !important;
    padding: 0 18px !important;

    background: rgba(0, 0, 0, 0.78) !important;

    border: 1px solid rgba(255, 255, 255, 0.45) !important;
    border-radius: 0 !important;

    color: #ffffff !important;

    font-family: Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;

    line-height: 58px !important;

    outline: none !important;

    box-shadow: none !important;

    -webkit-appearance: none !important;
    appearance: none !important;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        background-color 0.2s ease !important;
}
div.ctct-form-embed div.ctct-form-defaults * {
  box-sizing: border-box;
  overflow-wrap: break-word;
  display: block;
}

/* Placeholder */

.ctct-inline-form input::placeholder {
    color: #9a9a9a !important;
    opacity: 1 !important;
}

.ctct-inline-form input::-webkit-input-placeholder {
    color: #9a9a9a !important;
}

.ctct-inline-form input::-moz-placeholder {
    color: #9a9a9a !important;
    opacity: 1 !important;
}

/* Focus */

.ctct-inline-form input:focus {
    background: rgba(0, 0, 0, 0.92) !important;

    border-color: #bbff63 !important;

    box-shadow:
        0 0 0 1px #bbff63 !important;

    outline: none !important;
}

/* Submit button */

.ctct-inline-form button,
.ctct-inline-form input[type="submit"],
.ctct-inline-form [type="submit"] {
    box-sizing: border-box !important;

    width: 100% !important;
    max-width: 100% !important;

    min-height: 56px !important;
    height: 56px !important;

    margin: 14px 0 0 !important;
    padding: 0 28px !important;

    background: #bbff63 !important;

    border: 2px solid #bbff63 !important;
    border-radius: 0 !important;

    color: #000000 !important;

    font-family: Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 900 !important;

    line-height: 52px !important;

    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;

    text-align: center !important;

    cursor: pointer !important;

    box-shadow: none !important;

    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        color 0.2s ease !important;
}

/* Button hover */

.ctct-inline-form button:hover,
.ctct-inline-form input[type="submit"]:hover,
.ctct-inline-form [type="submit"]:hover {
    background: #ffffff !important;

    border-color: #ffffff !important;

    color: #000000 !important;
}

/* Button focus */

.ctct-inline-form button:focus,
.ctct-inline-form input[type="submit"]:focus,
.ctct-inline-form [type="submit"]:focus {
    outline: none !important;

    box-shadow:
        0 0 0 2px #000000,
        0 0 0 4px #bbff63 !important;
}


/* =========================================================
   LABELS / SUPPORTING TEXT
   ========================================================= */

.ctct-inline-form label {
    color: #ffffff !important;

    font-family: Arial, sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;

    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}


/* =========================================================
   ERROR / VALIDATION MESSAGES
   ========================================================= */

.ctct-inline-form [class*="error"] {
    color: #bbff63 !important;

    font-family: Arial, sans-serif !important;
    font-size: 12px !important;
}


/* =========================================================
   COMPANY 51 NOTE
   ========================================================= */

.signup-note {
    margin: 12px 0 0 !important;

    color: #9a9a9a !important;

    font-family: Arial, sans-serif !important;

    font-size: 10px !important;
    font-weight: 700 !important;

    line-height: 1.4 !important;

    letter-spacing: 0.12em !important;

    text-transform: uppercase !important;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767.98px) {

    .ctct-inline-form {
        width: 100% !important;
        max-width: 100% !important;

        margin-top: 22px !important;
    }

    .ctct-inline-form form {
        width: 100% !important;
        max-width: 100% !important;
    }

    .ctct-inline-form input[type="email"],
    .ctct-inline-form input[type="text"],
    .ctct-inline-form input[type="tel"] {
        width: 100% !important;

        height: 58px !important;
        min-height: 58px !important;

        padding: 0 16px !important;

        font-size: 16px !important;

        line-height: 58px !important;
    }

    .ctct-inline-form button,
    .ctct-inline-form input[type="submit"],
    .ctct-inline-form [type="submit"] {
        width: 100% !important;

        height: 56px !important;
        min-height: 56px !important;

        margin-top: 12px !important;

        font-size: 13px !important;
    }

    .signup-note {
        margin-top: 12px !important;

        font-size: 9px !important;

        line-height: 1.5 !important;

        letter-spacing: 0.1em !important;
    }
}
