@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700&family=Playfair+Display:wght@500;600&display=swap');

:root { --ink: #10233d; --paper: #f6f4ef; --muted: #637083; --line: #d9dce0; }
* { box-sizing: border-box; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: Manrope, Arial, sans-serif; }
.hero { min-height: 100vh; position: relative; overflow: hidden; color: #fff; padding: 32px 6vw; display: flex; flex-direction: column; background: #091d35; }
.hero::before, .hero::after { content: ''; position: absolute; inset: -20%; pointer-events: none; }
.hero::before { background: radial-gradient(circle at 76% 17%, #43a4a2 0 2%, transparent 25%), radial-gradient(circle at 18% 85%, #6a6bba 0 2%, transparent 29%), linear-gradient(124deg, #0a1d35 14%, #153e58 48%, #3b7385 120%); opacity: .96; }
.hero::after { background: repeating-linear-gradient(118deg, transparent 0 110px, rgba(255,255,255,.06) 111px 112px, transparent 113px 230px), linear-gradient(0deg, rgba(0,0,0,.22), transparent 60%); transform: skewY(-8deg); }
.nav { display: flex; align-items: center; justify-content: space-between; position: relative; z-index: 1; }
.brand { color: inherit; font: 600 24px/1 'Playfair Display', Georgia, serif; text-decoration: none; letter-spacing: -.8px; }
.nav-link { color: inherit; text-decoration: none; font-size: 13px; font-weight: 600; }
.hero-content { position: relative; z-index: 1; max-width: 830px; margin: auto 0; padding: 12vh 0; }
.eyebrow { margin: 0 0 20px; font: 500 11px/1.4 'DM Mono', monospace; letter-spacing: .13em; text-transform: uppercase; }
h1 { font: 500 clamp(56px, 11vw, 150px)/.94 'Playfair Display', Georgia, serif; letter-spacing: -.065em; margin: 0; }
.hero-copy { font-size: clamp(18px, 2vw, 25px); line-height: 1.45; max-width: 480px; margin: 29px 0 37px; }
.button { display: inline-flex; gap: 28px; align-items: center; border: 0; border-radius: 0; padding: 15px 18px; text-decoration: none; font: 600 12px Manrope, sans-serif; cursor: pointer; }
.button-light { background: #fff; color: var(--ink); }.button-dark { background: var(--ink); color: #fff; margin-top: 8px; }
.hero-footer { position: relative; z-index: 1; margin: 0; font: 11px 'DM Mono', monospace; letter-spacing: .08em; opacity: .76; }
.nav-page { color: var(--ink); padding: 32px 6vw; border-bottom: 1px solid var(--line); }.contact-layout { max-width: 1120px; margin: 0 auto; padding: 12vh 6vw; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(60px, 12vw, 160px); }.contact-intro h1, .profile h1 { font-size: clamp(43px, 5.2vw, 75px); }.contact-intro > p:last-child, .profile-copy { color: var(--muted); font-size: 17px; line-height: 1.65; max-width: 480px; margin-top: 27px; }
.contact-form { display: grid; gap: 22px; }.contact-form label { display: grid; gap: 9px; font-size: 12px; font-weight: 700; }.contact-form input, .contact-form textarea { background: transparent; border: 0; border-bottom: 1px solid #aab2bb; border-radius: 0; padding: 8px 0; font: 16px Manrope, sans-serif; color: var(--ink); outline-offset: 5px; resize: vertical; }.contact-form textarea { border: 1px solid #aab2bb; padding: 12px; }.form-status { min-height: 22px; margin: 0; font-size: 13px; }.field-error { min-height: 18px; color: #a21d32; font-size: 12px; font-weight: 500; } input[aria-invalid="true"], textarea[aria-invalid="true"] { border-color: #a21d32; }.success { color: #157262; }.error { color: #a21d32; }
.profile { max-width: 850px; margin: 0 auto; padding: 50px 6vw 12vh; }.brand-dark { display: inline-block; margin-bottom: 18vh; color: var(--ink); }.profile .eyebrow { color: var(--muted); }
@media (max-width: 720px) { .contact-layout { grid-template-columns: 1fr; padding-top: 80px; gap: 55px; }.hero { padding: 25px 7vw; }.nav-page { padding: 25px 7vw; } }
