/* ======================================== RESET & BASE (ORANGE & GRAY BRUTALIST) ======================================== */ *, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; } :root { /* Industrial Palette */ --black: #000000; --white: #ffffff; --grey-dark: #2b2d30; /* Slate Concrete */ --grey-light: #3f4246; /* Industrial Surface */ --grey-text: #b0b0b0; --accent: #ff5500; /* Safety Orange */ --mono: 'JetBrains Mono', monospace; --sans: 'DM Sans', sans-serif; /* Brutalist Variables */ --border-thick: 4px solid var(--black); --border-orange: 4px solid var(--accent); --shadow: 8px 8px 0px var(--black); --shadow-orange: 8px 8px 0px var(--accent); } html { scroll-behavior: smooth; font-size: 16px; } body { font-family: var(--sans); background: var(--grey-dark); color: var(--white); line-height: 1.2; /* Tighter brutalist spacing */ -webkit-font-smoothing: antialiased; padding: 10px; /* Outer frame */ } a { color: var(--white); text-decoration: none; transition: all 0.1s ease; } ::selection { background: var(--accent); color: var(--black); } /* ======================================== NAV - THE CONTROL PANEL ======================================== */ .nav { position: fixed; top: 20px; left: 20px; right: 20px; z-index: 100; display: flex; justify-content: space-between; align-items: center; padding: 1rem 2rem; background: var(--black); border: var(--border-orange); box-shadow: var(--shadow); } .nav-left { display: flex; align-items: center; gap: 1.25rem; } .nav-logo { font-family: var(--mono); font-weight: 800; font-size: 1.25rem; letter-spacing: -0.02em; color: var(--accent); } .nav-back { font-family: var(--mono); font-size: 1rem; color: var(--white); opacity: 0.5; transition: opacity 0.15s; } .nav-back:hover { opacity: 1; } .nav-links { display: flex; gap: 2rem; font-family: var(--mono); font-size: 0.8rem; text-transform: uppercase; font-weight: 700; } .nav-links a:hover { color: var(--accent); text-decoration: underline; } /* ======================================== HERO - IMPACT ZONE ======================================== */ .hero { min-height: 60vh; display: flex; flex-direction: column; justify-content: center; padding: 7rem 3rem 2rem; border: var(--border-thick); background: var(--grey-light); margin-bottom: 2rem; box-shadow: var(--shadow); } .hero .section-label { background: var(--accent); color: var(--black); font-size: 0.85rem; padding: 4px 12px; margin-bottom: 2rem; width: fit-content; } .hero h1 { font-family: var(--mono); font-size: clamp(3rem, 10vw, 8rem); font-weight: 800; line-height: 0.85; letter-spacing: -0.05em; margin-bottom: 2rem; text-transform: uppercase; color: var(--white); } .hero h1 .h1-sub { font-size: 0.6em; } .hero-sub { font-size: 1.25rem; color: var(--white); background: var(--black); padding: 1rem; max-width: clamp(280px, 40vw, 550px); margin-bottom: 2rem; border-left: 8px solid var(--accent); } /* ======================================== BUTTONS - INDUSTRIAL ACTUATORS ======================================== */ .hero-cta { display: flex; gap: 1.5rem; align-items: center; } .btn { display: inline-block; font-family: var(--mono); font-size: 0.9rem; font-weight: 900; text-transform: uppercase; padding: 1.2rem 2.5rem; background: var(--accent); color: var(--black); border: var(--border-thick); box-shadow: 4px 4px 0px var(--black); transition: transform 0.1s, box-shadow 0.1s; } .btn:hover { transform: translate(-2px, -2px); box-shadow: 7px 7px 0px var(--black); background: var(--white); } .btn-ghost { background: transparent; border-color: var(--white); color: var(--white); } .btn-ghost:hover { background: var(--white); color: var(--black); } /* ======================================== SECTIONS - MODULE CONTAINERS ======================================== */ .section { padding: 3rem 2.5rem; background: var(--grey-light); border: var(--border-thick); margin-bottom: 2rem; box-shadow: var(--shadow); } .section-label { font-family: var(--mono); font-size: 0.8rem; text-transform: uppercase; background: var(--black); color: var(--accent); padding: 5px 15px; display: inline-block; margin-bottom: 3rem; font-weight: 900; } .large-text { font-size: 1.75rem; line-height: 1.3; margin-bottom: 2rem; font-weight: 700; color: var(--accent); } .section-content p { color: var(--white); margin-bottom: 1.5rem; line-height: 1.6; font-size: 1.1rem; } /* ======================================== SERVICES - LIST ROWS ======================================== */ .services-section { background: var(--grey-light); padding: 3rem 2.5rem 0; margin-bottom: 2rem; box-shadow: var(--shadow); } .services-section-label { font-family: var(--mono); font-size: 0.8rem; text-transform: uppercase; background: var(--black); color: var(--accent); padding: 5px 15px; display: inline-block; margin-bottom: 2rem; font-weight: 900; border: 1px solid rgba(255,255,255,0.15); } .services-heading { font-family: 'Archivo Black', sans-serif; font-size: clamp(4rem, 13vw, 13rem); font-weight: 900; text-transform: uppercase; color: #ffffff; line-height: 0.88; letter-spacing: -0.02em; margin-bottom: 3rem; } .services-list { border-top: 1px solid rgba(255,255,255,0.2); } .service-row { display: flex; align-items: center; padding: 2.5rem 1rem; margin: 0 -1rem; border-bottom: 1px solid rgba(255,255,255,0.2); cursor: default; overflow: hidden; transition: background 0.15s ease; } .service-row:hover { background: var(--black); } .service-row-body { display: flex; align-items: flex-start; gap: 1.75rem; flex: 1; min-width: 0; } .service-row-num { font-family: var(--mono); font-size: 1rem; font-weight: 700; color: #ff4d00; padding-top: 0.6rem; white-space: nowrap; flex-shrink: 0; } .service-row-content { flex: 1; min-width: 0; } .service-row-title { font-family: var(--mono), serif; font-size: clamp(3rem, 7vw, 8rem); font-weight: 900; text-transform: uppercase; color: #ffffff; line-height: 0.92; letter-spacing: -0.02em; margin-bottom: 1.25rem; transition: color 0.15s ease; } .service-row:hover .service-row-title { color: var(--accent); } .service-row-tags { display: flex; gap: 0.6rem; flex-wrap: wrap; } .service-tag { font-family: var(--mono); font-size: 0.7rem; text-transform: uppercase; color: #ffffff; border: 1px solid rgba(255,255,255,0.35); border-radius: 100px; padding: 5px 14px; letter-spacing: 0.06em; white-space: nowrap; } @media (max-width: 768px) { .services-section { padding: 2rem 1.5rem 0; } .service-row { padding: 2rem 0; } .service-row-num { padding-top: 0.3rem; } .service-row-arrow { display: none; } .service-row-title { font-size: clamp(2rem, 7vw, 3rem); } } /* ======================================== CONTACT & FOOTER ======================================== */ .contact-email { display: block; font-family: var(--mono); font-size: clamp(1.2rem, 5vw, 3.5rem); font-weight: 900; margin: 2rem 0; color: var(--white); text-decoration: underline; text-decoration-color: var(--accent); text-underline-offset: 8px; } .contact-email:hover { color: var(--accent); background: var(--black); } .footer { background: var(--black); border: var(--border-orange); color: var(--grey-text); padding: 2rem 3rem; margin-top: 4rem; } /* ======================================== RESPONSIVE ======================================== */ @media (max-width: 768px) { .nav { top: 10px; left: 10px; right: 10px; padding: 1rem; } .hero, .section { padding: 6rem 1.5rem 3rem; } .services-grid { grid-template-columns: 1fr; } .service-item { padding: 2rem; } }