:root { --ink:#1d332c; --green:#315f50; --mint:#dce9e1; --cream:#f6f2e9; --paper:#fffdf8; --line:#d7ddd6; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial, Helvetica, sans-serif; }
a { color:inherit; text-decoration:none; }
.site-header { min-height:86px; max-width:1240px; margin:auto; padding:18px 32px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.brand { display:flex; align-items:center; gap:11px; font-size:24px; font-weight:700; letter-spacing:-.03em; }
.brand-mark { width:42px; height:42px; border-radius:50% 50% 50% 12px; display:grid; place-items:center; background:var(--green); color:white; font-family:Georgia,serif; font-size:23px; }
nav { display:flex; align-items:center; gap:30px; font-size:14px; font-weight:600; }
.nav-cta { padding:13px 19px; border:1px solid var(--green); border-radius:4px; }
.hero { min-height:590px; max-width:1240px; margin:auto; padding:72px 32px 62px; display:grid; grid-template-columns:1.15fr .85fr; align-items:center; gap:80px; }
.eyebrow { color:var(--green); text-transform:uppercase; letter-spacing:.15em; font-size:12px; line-height:1.4; font-weight:700; }
h1 { max-width:720px; margin:18px 0 24px; font-family:Georgia, 'Times New Roman', serif; font-size:clamp(54px,7vw,92px); line-height:.94; letter-spacing:-.055em; font-weight:400; }
.hero-lead { max-width:610px; margin:0; color:#53645d; font-size:18px; line-height:1.65; }
.hero-actions { margin-top:36px; display:flex; align-items:center; gap:28px; }
.button { display:inline-flex; justify-content:center; padding:16px 24px; border-radius:4px; font-size:15px; font-weight:700; }
.primary { background:var(--green); color:white; }
.text-link { font-size:14px; font-weight:700; border-bottom:1px solid var(--green); padding-bottom:5px; }
.hero-card { position:relative; min-height:390px; padding:46px 42px; background:var(--mint); border-radius:180px 180px 8px 8px; overflow:hidden; display:flex; flex-direction:column; justify-content:flex-end; }
.hero-card::before { content:""; position:absolute; width:160px; height:260px; top:22px; left:50%; transform:translateX(-50%) rotate(9deg); border:18px solid rgba(255,255,255,.6); border-radius:80px 80px 15px 15px; }
.shine { position:absolute; width:86px; height:86px; top:92px; left:50%; transform:translateX(-50%); border-radius:50%; background:rgba(255,255,255,.75); box-shadow:0 0 0 22px rgba(255,255,255,.25); }
.hero-card p, .hero-card ul { position:relative; z-index:1; }
.hero-card p { font-family:Georgia,serif; font-size:25px; margin:0 0 18px; }
.hero-card ul { list-style:none; margin:0; padding:0; display:grid; gap:12px; font-size:14px; }
.hero-card li span { display:inline-grid; place-items:center; width:22px; height:22px; margin-right:9px; border-radius:50%; background:var(--green); color:white; font-size:11px; }
.trust-strip { background:var(--cream); display:grid; grid-template-columns:repeat(3,1fr); padding:27px max(32px,calc((100vw - 1176px)/2)); border-block:1px solid #e7e0d2; }
.trust-strip div { padding:8px 30px; display:flex; flex-direction:column; gap:5px; border-right:1px solid #ddd3c1; }
.trust-strip div:last-child { border:0; }
.trust-strip strong { font-family:Georgia,serif; font-size:19px; font-weight:400; }
.trust-strip span { color:#68736e; font-size:13px; }
.services-preview { max-width:1240px; margin:auto; padding:92px 32px 110px; }
h2 { margin:14px 0 40px; font-family:Georgia,serif; font-size:48px; font-weight:400; letter-spacing:-.035em; }
.service-row { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); }
.service-row article { padding:28px 30px 22px 0; }
.service-row article + article { padding-left:30px; border-left:1px solid var(--line); }
.service-row article > span { color:#83938c; font-size:12px; }
h3 { margin:24px 0 12px; font-family:Georgia,serif; font-size:24px; font-weight:400; }
.service-row p { margin:0; color:#65736d; line-height:1.65; font-size:15px; }
.process { background:var(--cream); padding:100px max(32px,calc((100vw - 1176px)/2)); display:grid; grid-template-columns:.85fr 1.15fr; gap:110px; border-block:1px solid #e7e0d2; }
.process-heading h2 { margin-bottom:24px; }
.process-heading > p:last-child { max-width:480px; color:#65736d; font-size:16px; line-height:1.7; }
.steps { list-style:none; margin:0; padding:0; border-top:1px solid #d8d0c2; }
.steps li { display:grid; grid-template-columns:48px 1fr; gap:20px; padding:28px 0; border-bottom:1px solid #d8d0c2; }
.steps li > span { width:36px; height:36px; display:grid; place-items:center; border:1px solid var(--green); border-radius:50%; font-family:Georgia,serif; }
.steps h3 { margin:2px 0 8px; }
.steps p { margin:0; color:#65736d; line-height:1.6; font-size:14px; }
.about { max-width:1240px; margin:auto; padding:100px 32px; }
.about-card { padding:72px; background:var(--mint); border-radius:8px; }
blockquote { max-width:880px; margin:22px 0 54px; font-family:Georgia,serif; font-size:clamp(34px,4vw,55px); line-height:1.12; letter-spacing:-.035em; }
.about-points { display:grid; grid-template-columns:repeat(4,1fr); gap:32px; padding-top:28px; border-top:1px solid #b9cec1; }
.about-points p { margin:0; display:flex; flex-direction:column; gap:9px; }
.about-points strong { font-family:Georgia,serif; font-size:19px; font-weight:400; }
.about-points span { color:#587166; font-size:13px; line-height:1.55; }
.contact { padding:92px max(32px,calc((100vw - 1176px)/2)); display:grid; grid-template-columns:1.25fr .75fr; gap:90px; align-items:center; background:var(--green); color:white; }
.contact h2 { margin:16px 0 22px; max-width:650px; font-size:54px; }
.contact > div > p:last-child { max-width:600px; color:#d5e2dc; line-height:1.7; }
.light { color:#cfdfd7; }
.contact-box { padding:34px; border:1px solid rgba(255,255,255,.35); border-radius:6px; }
.contact-label { margin:0 0 12px; color:#cfdfd7; font-size:12px; text-transform:uppercase; letter-spacing:.12em; font-weight:700; }
.contact-box a { display:inline-block; font-family:Georgia,serif; font-size:30px; border-bottom:1px solid rgba(255,255,255,.6); }
.contact-note { margin:28px 0 0; color:#cfdfd7; font-size:13px; line-height:1.7; }
footer { max-width:1240px; min-height:140px; margin:auto; padding:34px 32px; display:grid; grid-template-columns:1fr 1fr 1fr; align-items:center; color:#69756f; font-size:13px; }
footer p:nth-child(2) { text-align:center; }
footer p:last-child { text-align:right; }
.footer-brand { color:var(--ink); }
@media (max-width:800px) {
  .site-header { padding:14px 20px; }
  nav > a:not(.nav-cta) { display:none; }
  .hero { padding:52px 20px; grid-template-columns:1fr; gap:44px; }
  h1 { font-size:58px; }
  .hero-card { min-height:330px; }
  .trust-strip { grid-template-columns:1fr; padding:18px 20px; }
  .trust-strip div { border-right:0; border-bottom:1px solid #ddd3c1; padding:16px 4px; }
  .service-row { grid-template-columns:1fr; }
  .service-row article + article { padding-left:0; border-left:0; border-top:1px solid var(--line); }
  .services-preview { padding:72px 20px; }
  h2 { font-size:39px; }
  .process { padding:72px 20px; grid-template-columns:1fr; gap:48px; }
  .about { padding:72px 20px; }
  .about-card { padding:44px 24px; }
  .about-points { grid-template-columns:1fr 1fr; }
  .contact { padding:72px 20px; grid-template-columns:1fr; gap:40px; }
  .contact h2 { font-size:42px; }
  footer { padding:38px 20px; grid-template-columns:1fr; gap:18px; }
  footer p:nth-child(2), footer p:last-child { margin:0; text-align:left; }
}
@media (max-width:480px) { .brand { font-size:20px; } .nav-cta { padding:11px 13px; } h1 { font-size:48px; } .hero-actions { align-items:flex-start; flex-direction:column; gap:20px; } .about-points { grid-template-columns:1fr; } .contact-box a { font-size:25px; } }
