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

:root { --ink:#1e252b; --muted:#647078; --coral:#c96669; --coral-dark:#a94f54; --paper:#f8f8f5; --line:#dfe3df; --white:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font:16px/1.65 'DM Sans', Arial, sans-serif; }
a { color:inherit; }
.site-header { max-width:1180px; margin:auto; padding:22px 32px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand img { display:block; width:118px; height:118px; object-fit:contain; }
nav { display:flex; align-items:center; gap:30px; font-size:.95rem; }
nav a { text-decoration:none; }
nav a:not(.nav-button):hover, .site-footer a:hover { color:var(--coral-dark); }
.nav-button, .button { display:inline-flex; align-items:center; gap:12px; background:var(--ink); color:var(--white); padding:11px 18px; border-radius:999px; font-weight:600; text-decoration:none; transition:transform .2s, background .2s; }
.nav-button:hover, .button:hover { background:var(--coral-dark); transform:translateY(-2px); }
.hero { max-width:1180px; margin:0 auto; padding:72px 32px 110px; min-height:590px; display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:56px; }
.hero-copy { max-width:650px; }
.eyebrow { margin:0 0 16px; color:var(--coral-dark); font-size:.78rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
h1, h2, h3 { font-family:'Space Grotesk', Arial, sans-serif; line-height:1.1; letter-spacing:-.035em; }
h1 { max-width:700px; margin:0 0 26px; font-size:clamp(3rem, 7vw, 5.8rem); }
h2 { margin:0; font-size:clamp(2rem, 4vw, 3.5rem); }
.intro { max-width:560px; margin:0 0 32px; color:var(--muted); font-size:1.2rem; }
.hero-mark { justify-self:end; width:min(100%, 430px); }
.hero-mark img { display:block; width:100%; height:auto; }
.section { max-width:1180px; margin:auto; padding:80px 32px 115px; border-top:1px solid var(--line); }
.section > h2 { max-width:680px; margin-bottom:54px; }
.service-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:18px; }
.service-card { min-height:270px; padding:28px; border:1px solid var(--line); background:var(--white); border-radius:4px; }
.service-number { color:var(--coral); font-size:.8rem; font-weight:700; letter-spacing:.12em; }
.service-card h3 { margin:46px 0 12px; font-size:1.35rem; }
.service-card p, .about-copy p { color:var(--muted); }
.about-panel { display:grid; grid-template-columns:1fr 1fr; gap:70px; padding:92px max(32px, calc((100vw - 1116px)/2)); background:var(--ink); color:var(--white); }
.about-panel .eyebrow { color:#e7928e; }
.about-copy { max-width:540px; }
.about-copy p { color:#c7ced0; }
.company-detail { margin-top:30px; padding-top:20px; border-top:1px solid #4b555b; font-size:.9rem; }
.contact { max-width:1180px; margin:auto; padding:105px 32px 120px; }
.contact h2 { max-width:680px; margin-bottom:30px; }
.contact-link { color:var(--coral-dark); font-size:clamp(1.2rem, 3vw, 2rem); font-weight:600; text-decoration:none; border-bottom:2px solid currentColor; }
.site-footer { max-width:1180px; margin:auto; padding:24px 32px 40px; display:flex; justify-content:space-between; gap:20px; color:var(--muted); font-size:.85rem; border-top:1px solid var(--line); }
.site-footer a { text-decoration:none; }
.legal-page { max-width:760px; margin:0 auto; padding:90px 32px 130px; }
.legal-page h1 { font-size:clamp(2.8rem, 6vw, 5rem); margin:0 0 14px; }
.legal-page h2 { margin:52px 0 12px; font-size:1.5rem; letter-spacing:-.02em; }
.legal-page p { color:var(--muted); }
.legal-page a { color:var(--coral-dark); }
.muted { color:var(--muted); }
@media (max-width:760px) { .site-header { padding:16px 20px; } .brand img { width:82px; height:82px; } nav { gap:14px; } nav a:not(.nav-button) { display:none; } .nav-button { padding:9px 14px; } .hero { display:block; padding:48px 20px 72px; min-height:0; } h1 { font-size:clamp(2.8rem, 14vw, 4.5rem); } .intro { font-size:1.05rem; } .hero-mark { width:70%; margin:60px auto 0; } .section, .contact { padding:68px 20px 80px; } .service-grid { grid-template-columns:1fr; } .service-card { min-height:0; } .about-panel { grid-template-columns:1fr; gap:20px; padding:68px 20px; } .site-footer { padding:22px 20px 32px; flex-direction:column; } .legal-page { padding:60px 20px 90px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *, *::before, *::after { transition:none !important; } }
