*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } :root { --ink: #1a1a2e; --slate: #2d3561; --teal: #0f7173; --cream: #f5f0e8; --gold: #c9a84c; --mist: #e8edf2; --serif: Georgia, 'Times New Roman', Times, serif; --mono: 'Courier New', Courier, monospace; } html { scroll-behavior: smooth; } body { font-family: var(--serif); background-color: var(--cream); color: var(--ink); overflow-x: hidden; } /* ===== HEADER ===== */ header { position: relative; min-height: 100vh; display: flex; flex-direction: column; background-color: var(--ink); overflow: hidden; } .grid-overlay { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background-image: linear-gradient(rgba(201,168,76,0.07) 1px, transparent 1px), linear-gradient(90deg, rgba(201,168,76,0.07) 1px, transparent 1px); background-size: 60px 60px; animation: gridShift 20s linear infinite; } @keyframes gridShift { from { background-position: 0 0; } to { background-position: 60px 60px; } } .diagonal-accent { position: absolute; top: 0; right: -10%; width: 55%; height: 100%; background: linear-gradient(135deg, var(--slate) 0%, var(--teal) 100%); clip-path: polygon(20% 0, 100% 0, 100% 100%, 0% 100%); opacity: 0.55; } nav { position: relative; z-index: 10; display: flex; justify-content: space-between; align-items: center; padding: 2rem 4rem; border-bottom: 1px solid rgba(201,168,76,0.2); } .wordmark { font-family: var(--mono); font-size: 0.72rem; letter-spacing: 0.22em; color: var(--gold); } .nav-badge { font-family: var(--mono); font-size: 0.62rem; letter-spacing: 0.14em; color: rgba(245,240,232,0.4); border: 1px solid rgba(245,240,232,0.15); padding: 0.35rem 0.8rem; border-radius: 2px; } .hero { position: relative; z-index: 10; flex: 1; display: flex; flex-direction: column; justify-content: center; padding: 4rem 4rem 6rem; max-width: 900px; } .hero-eyebrow { font-family: var(--mono); font-size: 0.68rem; letter-spacing: 0.28em; color: var(--gold); text-transform: uppercase; margin-bottom: 2rem; animation: fadeUp 0.8s ease both; } .hero h1 { font-size: clamp(2.8rem, 7vw, 5.5rem); font-weight: normal; font-style: normal; line-height: 1.08; color: var(--cream); margin-bottom: 2rem; animation: fadeUp 0.8s 0.15s ease both; } .hero h1 em { font-style: italic; color: var(--gold); } .hero-sub { font-size: 1.2rem; font-weight: normal; color: rgba(245,240,232,0.65); line-height: 1.75; max-width: 540px; animation: fadeUp 0.8s 0.3s ease both; } .hero-line { width: 60px; height: 1px; background-color: var(--gold); margin: 2.5rem 0; animation: fadeUp 0.8s 0.45s ease both; } .hero-state { font-family: var(--mono); font-size: 0.62rem; letter-spacing: 0.22em; color: rgba(245,240,232,0.28); text-transform: uppercase; margin-top: 2rem; animation: fadeUp 0.8s 0.6s ease both; } @keyframes fadeUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } /* ===== ABOUT ===== */ .about { padding: 6rem 4rem; background-color: var(--cream); } .section-label { font-family: var(--mono); font-size: 0.62rem; letter-spacing: 0.28em; color: var(--teal); text-transform: uppercase; margin-bottom: 1.5rem; } .about h2 { font-size: clamp(2rem, 4vw, 3rem); font-weight: normal; line-height: 1.2; margin-bottom: 1.5rem; color: var(--ink); } .about p { font-size: 1.15rem; line-height: 1.85; color: #444444; max-width: 640px; } /* ===== MISSION & VISION ===== */ .mission-vision { display: flex; flex-wrap: wrap; gap: 0; background-color: var(--ink); } .mv-block { flex: 1 1 300px; padding: 5rem 4rem; border-right: 1px solid rgba(201,168,76,0.12); } .mv-block:last-child { border-right: none; } .mv-block .section-label { color: rgba(201,168,76,0.7); margin-bottom: 1.25rem; } .mv-block p { font-size: 1.1rem; line-height: 1.9; color: rgba(245,240,232,0.65); max-width: 520px; } /* ===== OBJECTIVES, BELIEFS & VALUES ===== */ .obv { padding: 6rem 4rem; background-color: var(--cream); } .obv h2 { font-size: clamp(2rem, 4vw, 3rem); font-weight: normal; line-height: 1.2; color: var(--ink); margin-bottom: 4rem; } .obv-grid { display: flex; flex-wrap: wrap; gap: 3rem; } .obv-col { flex: 1 1 220px; } .obv-col h3 { font-family: var(--mono); font-size: 0.68rem; letter-spacing: 0.24em; text-transform: uppercase; color: var(--teal); margin-bottom: 1.5rem; padding-bottom: 0.75rem; border-bottom: 1px solid rgba(15,113,115,0.25); } .obv-col ul { list-style: none; padding: 0; } .obv-col ul li { font-size: 1.05rem; line-height: 1.75; color: #444444; padding: 0.6rem 0; border-bottom: 1px solid rgba(0,0,0,0.06); padding-left: 1rem; position: relative; } .obv-col ul li::before { content: ''; position: absolute; left: 0; top: 1.1rem; width: 4px; height: 4px; border-radius: 50%; background-color: var(--gold); } .obv-col ul li:last-child { border-bottom: none; } @media (max-width: 640px) { .mv-block { padding: 3rem 1.5rem; border-right: none; border-bottom: 1px solid rgba(201,168,76,0.12); } .mv-block:last-child { border-bottom: none; } .obv { padding: 4rem 1.5rem; } } /* ===== SERVICES ===== */ .services { padding: 6rem 4rem; background-color: var(--ink); } .services .section-label { color: rgba(201,168,76,0.7); } .services h2 { font-size: clamp(2rem, 4vw, 3rem); font-weight: normal; line-height: 1.2; color: var(--cream); margin-bottom: 4rem; } .services-grid { display: flex; flex-wrap: wrap; gap: 2px; } .service-card { flex: 1 1 260px; background-color: rgba(245,240,232,0.03); border: 1px solid rgba(201,168,76,0.12); padding: 2.5rem; position: relative; overflow: hidden; transition: background-color 0.3s ease; } .service-card::before { content: ''; position: absolute; top: 0; left: 0; width: 3px; height: 0; background-color: var(--gold); transition: height 0.4s ease; } .service-card:hover { background-color: rgba(245,240,232,0.07); } .service-card:hover::before { height: 100%; } .card-num { font-family: var(--mono); font-size: 0.58rem; letter-spacing: 0.18em; color: var(--gold); margin-bottom: 1.5rem; } .service-card h3 { font-size: 1.45rem; font-weight: normal; margin-bottom: 1rem; color: var(--cream); line-height: 1.3; } .service-card p { font-size: 1rem; line-height: 1.75; color: rgba(245,240,232,0.5); } /* ===== COMING SOON ===== */ .coming-soon { background-color: var(--mist); text-align: center; padding: 5rem 4rem; } .coming-soon-box { display: inline-block; border: 1px solid rgba(15,113,115,0.3); background-color: #ffffff; padding: 3rem 4rem; max-width: 600px; position: relative; } .coming-soon-box::before, .coming-soon-box::after { content: ''; position: absolute; width: 20px; height: 20px; border-color: var(--gold); border-style: solid; } .coming-soon-box::before { top: -2px; left: -2px; border-width: 2px 0 0 2px; } .coming-soon-box::after { bottom: -2px; right: -2px; border-width: 0 2px 2px 0; } .status-label { font-family: var(--mono); font-size: 0.62rem; letter-spacing: 0.22em; color: var(--teal); text-transform: uppercase; display: flex; align-items: center; justify-content: center; margin-bottom: 1.5rem; } .pulse-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background-color: var(--teal); margin-right: 10px; animation: pulse 2s ease infinite; } @keyframes pulse { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: 0.35; transform: scale(0.65); } } .coming-soon-box h2 { font-size: 2rem; font-weight: normal; color: var(--ink); margin-bottom: 1rem; } .coming-soon-box p { font-size: 1.05rem; color: #666666; line-height: 1.8; } /* ===== FOOTER ===== */ footer { background-color: var(--ink); padding: 2.5rem 4rem; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 1rem; border-top: 1px solid rgba(201,168,76,0.15); } footer .wordmark { color: var(--gold); } footer p { font-family: var(--mono); font-size: 0.58rem; letter-spacing: 0.14em; color: rgba(245,240,232,0.25); } /* ===== RESPONSIVE ===== */ @media (max-width: 640px) { nav { padding-left: 1.5rem; padding-right: 1.5rem; } .hero { padding: 2.5rem 1.5rem 4rem; } .about { padding: 4rem 1.5rem; } .services { padding: 4rem 1.5rem; } .coming-soon { padding: 3rem 1.5rem; } .coming-soon-box { padding: 2rem 1.5rem; } footer { padding: 2rem 1.5rem; } }