:root { --ink:#111111; --navy:#10244a; --red:#cf3439; --line:#dcdcdc; --soft:#f7f7f7; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:#fff; font-family:"DM Sans",Arial,sans-serif; }
a { color:inherit; }
.site-header { max-width:1120px; margin:0 auto; padding:22px 28px; min-height:108px; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid var(--line); }.brand img { display:block; width:190px; height:auto; }.header-email { color:var(--navy); font-size:14px; font-weight:700; text-decoration:none; }
main { max-width:1120px; margin:0 auto; padding:0 28px 28px; }.hero { padding:100px 0 86px; max-width:810px; }.eyebrow { margin:0 0 16px; color:var(--red); font-size:11px; font-weight:700; letter-spacing:.17em; }.hero h1,.section-intro h2,.contact-card h2 { font-family:"Playfair Display",Georgia,serif; font-weight:600; }.hero h1 { margin:0; color:var(--navy); font-size:clamp(58px,8vw,100px); line-height:.96; letter-spacing:-.045em; }.hero h1 em { color:var(--red); font-style:normal; }.hero-copy { max-width:590px; margin:28px 0 34px; color:#4c4c4c; font-size:18px; line-height:1.6; }.hero-actions { display:flex; flex-wrap:wrap; gap:10px; }.button { border-radius:0; padding:14px 20px; font-size:14px; font-weight:700; text-decoration:none; }.button-primary { background:var(--red); color:#fff; }.button-secondary { border:1px solid var(--navy); color:var(--navy); }
.services { border-top:3px solid var(--navy); padding:53px 0 68px; }.section-intro { display:grid; grid-template-columns:190px 1fr; gap:30px; align-items:start; }.section-intro h2 { max-width:570px; margin:0; color:var(--navy); font-size:34px; line-height:1.15; }.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin-top:40px; border:1px solid var(--line); }.service-grid article { min-height:190px; padding:24px; border-right:1px solid var(--line); }.service-grid article:last-child { border-right:0; }.service-grid span { color:var(--red); font-size:12px; font-weight:700; }.service-grid h3 { margin:34px 0 9px; color:var(--navy); font-family:"Playfair Display",Georgia,serif; font-size:23px; }.service-grid p { margin:0; color:#535353; font-size:14px; line-height:1.55; }
.contact-card { display:flex; justify-content:space-between; gap:36px; align-items:end; margin-top:10px; padding:42px; background:var(--navy); color:#fff; border-left:7px solid var(--red); }.contact-card .eyebrow { color:#fff; }.contact-card h2 { margin:0 0 10px; font-size:37px; }.contact-card p:not(.eyebrow) { max-width:515px; margin:0; color:#e4e8ef; line-height:1.55; }.contact-actions { display:grid; gap:12px; min-width:220px; }.contact-actions a { border-bottom:1px solid #73809a; padding-bottom:9px; color:#fff; font-weight:700; text-decoration:none; }
footer { max-width:1120px; margin:0 auto; padding:26px 28px 34px; color:#5e5e5e; display:flex; justify-content:space-between; gap:16px; font-size:12px; } footer a { text-decoration:none; }
@media (max-width:720px) { .site-header,main,footer { padding-left:20px; padding-right:20px; }.site-header { min-height:86px; padding-top:15px; padding-bottom:15px; }.brand img { width:145px; }.header-email { font-size:12px; }.hero { padding:75px 0 64px; }.hero-copy { font-size:17px; }.section-intro { grid-template-columns:1fr; gap:6px; }.section-intro h2 { font-size:29px; }.service-grid { grid-template-columns:1fr; margin-top:28px; }.service-grid article { min-height:0; border-right:0; border-bottom:1px solid var(--line); }.service-grid article:last-child { border-bottom:0; }.service-grid h3 { margin-top:25px; }.contact-card { padding:30px 24px; flex-direction:column; align-items:start; }.contact-card h2 { font-size:31px; }.contact-actions { width:100%; }.services { padding:45px 0; } footer { flex-direction:column; } }
