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

:root { --ink:#17231f; --muted:#65736e; --green:#17634c; --green-dark:#104936; --cream:#f4f1e9; --paper:#fbfaf7; --line:#dce1dc; --white:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:"DM Sans",Arial,sans-serif; line-height:1.65; }
.container { width:min(1120px,calc(100% - 48px)); margin:auto; }
.site-header { background:rgba(251,250,247,.96); border-bottom:1px solid var(--line); }
.header-inner,.footer-inner { min-height:78px; display:flex; align-items:center; justify-content:space-between; }
.header-right { display:flex; align-items:center; gap:26px; }
.logo { display:inline-flex; align-items:center; gap:10px; color:var(--ink); text-decoration:none; font-weight:700; letter-spacing:-.03em; }
.logo-mark { width:30px;height:30px;display:grid;place-items:center;border-radius:9px 9px 9px 2px;color:var(--white);background:var(--green);font-family:"Manrope",sans-serif;font-size:15px; }
.logo-light { font-weight:400;color:var(--muted); }
nav { display:flex;gap:30px; }
nav a { color:var(--muted);text-decoration:none;font-size:14px;font-weight:600; }
nav a:hover { color:var(--green); }
.lang { border:1px solid var(--line);background:transparent;color:var(--green);border-radius:4px;padding:7px 10px;font:700 11px "DM Sans";cursor:pointer; }
.hero { padding:92px 0 105px;overflow:hidden; }
.hero-grid { display:grid;grid-template-columns:1.1fr .9fr;gap:90px;align-items:center; }
.eyebrow { margin:0 0 18px;color:var(--green);font-size:11px;font-weight:700;letter-spacing:.17em; }
h1,h2,h3 { font-family:"Manrope",sans-serif;line-height:1.12;letter-spacing:-.045em; }
h1 { max-width:680px;margin:0 0 25px;font-size:clamp(46px,6vw,72px); }
h2 { margin:0 0 22px;font-size:clamp(34px,4vw,48px); }
h3 { margin:15px 0 12px;font-size:22px; }
.hero-text { max-width:620px;margin:0 0 34px;color:var(--muted);font-size:18px; }
.button { display:inline-flex;align-items:center;gap:18px;padding:14px 20px;color:var(--white);background:var(--green);border-radius:5px;text-decoration:none;font-size:14px;font-weight:700; }
.button:hover { background:var(--green-dark); }
.button span:last-child { font-size:20px;line-height:1; }
.hero-card { min-height:440px;position:relative;overflow:hidden;border-radius:8px;background:var(--green-dark); }
.card-content { position:absolute;left:42px;bottom:42px;max-width:320px;color:var(--white);z-index:2; }
.card-label { display:block;margin-bottom:18px;font-size:10px;letter-spacing:.18em;font-weight:700;opacity:.7; }
.card-content strong { display:block;font-family:"Manrope",sans-serif;font-size:36px;line-height:1.15;letter-spacing:-.04em; }
.card-content p { margin:18px 0 0;color:rgba(255,255,255,.72);font-size:14px; }
.orb { position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.16); }
.orb-one { width:410px;height:410px;right:-130px;top:-110px; }
.orb-two { width:260px;height:260px;right:-30px;top:-35px;background:rgba(255,255,255,.04); }
.intro { padding:105px 0;background:var(--cream); }
.intro-grid { display:grid;grid-template-columns:.7fr 1.3fr;gap:80px; }
.intro h2 { max-width:700px; }
.intro p:not(.eyebrow) { max-width:690px;color:var(--muted);font-size:18px; }
.section { padding:110px 0; }
.section-heading { max-width:700px;margin-bottom:55px; }
.services { display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line); }
.service { padding:30px 35px 10px 0;border-right:1px solid var(--line); }
.service:not(:first-child) { padding-left:35px; }
.service:last-child { border-right:0; }
.number { color:var(--green);font-size:12px;font-weight:700; }
.service p { color:var(--muted);font-size:15px; }
.approach { padding:110px 0;background:var(--cream); }
.approach-grid { display:grid;grid-template-columns:1fr 1fr;gap:110px; }
.large { max-width:570px;color:var(--muted);font-size:18px; }
.steps { list-style:none;margin:0;padding:0;border-top:1px solid var(--line); }
.steps li { display:grid;grid-template-columns:55px 1fr;gap:15px;padding:24px 0;border-bottom:1px solid var(--line); }
.steps span { color:var(--green);font-size:12px;font-weight:700; }
.steps strong { font-family:"Manrope",sans-serif;font-size:18px; }
.steps p { margin:3px 0 0;color:var(--muted);font-size:14px; }
.contact { padding:110px 0 120px;text-align:center; }
.contact-inner { max-width:720px; }
.contact h2 { margin-bottom:14px; }
.contact p:not(.eyebrow) { color:var(--muted);margin:0 auto 25px; }
.email { color:var(--green);font-weight:700;text-decoration:none;font-size:17px; }
.email:hover { text-decoration:underline; }
footer { border-top:1px solid var(--line); }
.footer-inner { min-height:90px; }
footer p { color:var(--muted);font-size:12px; }
@media (max-width:800px) {
  .container { width:min(100% - 32px,600px); }
  nav { display:none; }
  .header-right { gap:0; }
  .hero { padding:65px 0 70px; }
  .hero-grid,.intro-grid,.approach-grid { grid-template-columns:1fr;gap:45px; }
  .hero-card { min-height:360px; }
  .intro,.section,.approach,.contact { padding:75px 0; }
  .services { grid-template-columns:1fr; }
  .service,.service:not(:first-child) { padding:25px 0;border-right:0;border-bottom:1px solid var(--line); }
  .service:last-child { border-bottom:0; }
  .footer-inner { flex-direction:column;justify-content:center;gap:8px; }
}
