*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--accent: #1c2d4a;--bg: #f4f3ef;--text: #2a2a2a;--text-muted: #6a6a6a;--border: #dddbd6;--max-width: 720px}html{font-size:16px}body{background-color:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;font-weight:400;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-width:320px;opacity:0;transition:opacity .6s ease}body.loaded{opacity:1}.page{max-width:var(--max-width);margin:0 auto;padding:0 32px}header{padding:56px 0 72px}.wordmark{font-family:Inter,sans-serif;font-size:18px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--accent)}.hero{padding-bottom:88px}.hero-rule{width:40px;height:2px;background-color:var(--accent);margin-bottom:32px}.hero h1{font-family:Playfair Display,Georgia,serif;font-size:clamp(28px,5vw,40px);font-weight:400;line-height:1.2;color:var(--accent);margin-bottom:24px;max-width:600px}.hero-sub{font-size:17px;line-height:1.75;color:var(--text-muted);max-width:580px}.section{padding-bottom:80px}.section-heading{font-family:Inter,sans-serif;font-size:11px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin-bottom:32px}.section p{font-size:16px;line-height:1.75;color:var(--text);max-width:580px}.service-list{display:flex;flex-direction:column;gap:0}.service-item{padding:24px 0;border-top:1px solid var(--border)}.service-item:last-child{border-bottom:1px solid var(--border)}.service-title{display:block;font-size:14px;font-weight:500;color:var(--accent);margin-bottom:8px;letter-spacing:.01em}.service-item p{font-size:15px;color:var(--text-muted);line-height:1.7}.contact-line{margin-bottom:8px}a{color:var(--accent);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s ease}a:hover{border-color:var(--accent)}footer{border-top:1px solid var(--border);padding:32px 0 48px;text-align:center}footer p{font-size:12px;color:var(--text-muted);letter-spacing:.02em}@media (max-width: 480px){.page{padding:0 20px}header{padding:40px 0 56px}.hero{padding-bottom:64px}.section{padding-bottom:60px}.wordmark{font-size:15px}.hero-sub{font-size:16px}}
