html { font-size: 16px; }
:root { --ink:#14261f; --muted:#5f7068; --purple:#1d5a47; --purple-dark:#123b30; --green:#2f8f68; --red:#ef1b2d; --cream:#f7f8f5; --line:#d8e1dc; --white:#fff; }
* { box-sizing:border-box; }
html { position:relative; min-height:100%; scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--cream); font-family:'DM Sans',sans-serif; }
a { color:inherit; text-decoration:none; }
.site-header { background:rgba(247,246,242,.9); border-bottom:1px solid rgba(23,21,47,.1); position:sticky; top:0; z-index:10; backdrop-filter:blur(16px); }
.nav-wrap { max-width:1180px; margin:auto; min-height:82px; display:flex; align-items:center; justify-content:space-between; padding:0 28px; }
.brand { display:flex; align-items:center; gap:11px; font:700 1.05rem 'Space Grotesk',sans-serif; letter-spacing:-.04em; }
.brand img { width:33px; height:33px; object-fit:contain; }
.nav-links { display:flex; gap:34px; align-items:center; font-size:.91rem; color:#58566a; }
.nav-links a { padding:31px 0 27px; border-bottom:2px solid transparent; }
.nav-links a:hover,.nav-links a.active { color:var(--ink); border-color:var(--red); }
  .nav-links .nav-cta { border:1px solid var(--ink) !important; border-radius:99px; padding:11px 18px !important; color:var(--ink) !important; }
  .nav-links .nav-cta:hover,.nav-links .nav-cta.active { background:var(--ink); color:var(--white) !important; border:1px solid var(--ink) !important; }
main { max-width:1180px; margin:auto; padding:0 28px 80px; }
.hero { min-height:600px; display:flex; align-items:center; justify-content:space-between; gap:60px; padding:92px 48px 86px; margin:0 -28px; color:var(--white); background-image:linear-gradient(90deg,rgba(10,19,17,.9) 0%,rgba(10,19,17,.68) 52%,rgba(10,19,17,.35) 100%),url("https://hebbkx1anhila5yf.public.blob.vercel-storage.com/image-mVxqZIS2gPtbkq0QX2kakmpvMqS9zo.png"); background-size:cover; background-position:center; }
.hero-copy { max-width:680px; }
.eyebrow,.section-label { color:var(--red); font-size:.74rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
h1,h2,h3 { font-family:'Space Grotesk',sans-serif; letter-spacing:-.055em; }
h1 { font-size:clamp(3.2rem,7vw,6.15rem); line-height:.95; margin:22px 0 28px; max-width:720px; }
h1 span { color:var(--green); }
.hero-lede,.page-hero p { color:var(--muted); font-size:1.12rem; line-height:1.7; max-width:550px; }
.hero-actions { display:flex; align-items:center; gap:25px; margin-top:35px; }
.button { display:inline-flex; align-items:center; gap:15px; border-radius:99px; padding:14px 21px; font-weight:700; transition:transform .2s, background .2s; }
.button:hover { transform:translateY(-2px); }
.button--primary { background:var(--green); color:var(--white); }
.button--primary:hover { background:var(--purple-dark); }
.button--light { background:var(--white); color:var(--purple-dark); }
.text-link { font-size:.9rem; font-weight:700; border-bottom:1px solid currentColor; padding-bottom:4px; }
.text-link span,.button span,.contact-email span { color:var(--red); }
.hero-mark { width:355px; height:355px; position:relative; flex:0 0 auto; }
.mark-orbit { position:absolute; border:1px solid rgba(76,63,164,.23); border-radius:50%; inset:5px 25px 55px 5px; transform:rotate(-28deg); }
.mark-orbit--two { inset:55px 5px 5px 45px; border-color:rgba(239,27,45,.33); transform:rotate(38deg); }
.mark-core { position:absolute; inset:78px; border-radius:50%; background:var(--green); color:var(--white); display:grid; place-items:center; font:700 7rem 'Space Grotesk'; line-height:1; box-shadow:14px 14px 0 var(--red); }
.mark-caption { position:absolute; bottom:0; right:0; font:600 .93rem 'Space Grotesk'; line-height:1.2; text-align:right; }
.mark-caption span { color:var(--red); }
.proof-strip { border-top:1px solid var(--line); border-bottom:1px solid var(--line); display:flex; justify-content:space-between; gap:20px; padding:20px 0; color:#797787; font-size:.73rem; text-transform:uppercase; letter-spacing:.11em; }
.proof-strip span:first-child { color:var(--ink); font-weight:700; }
.intro-section { display:grid; grid-template-columns:1fr 2.4fr; gap:60px; padding:125px 0 135px; }
.intro-section h2,.section-heading h2 { font-size:clamp(2.3rem,4.5vw,4.2rem); line-height:1.02; margin:0 0 25px; max-width:700px; }
.intro-section p { color:var(--muted); line-height:1.75; max-width:670px; margin-bottom:28px; }
.home-services { padding:90px 0 120px; border-top:1px solid var(--line); }
.section-heading { position:relative; margin-bottom:45px; }
.section-heading .text-link { position:absolute; right:0; bottom:7px; }
.service-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:15px; }
.service-grid--home { grid-template-columns:repeat(3,1fr); }
.service-card { background:var(--white); min-height:270px; padding:27px 25px; display:flex; flex-direction:column; transition:transform .2s; }
.service-card:hover { transform:translateY(-5px); }
.card-number { color:var(--red); font:600 .8rem 'Space Grotesk'; }
.service-card h3 { font-size:1.5rem; line-height:1.05; margin:55px 0 13px; }
.service-card p { color:var(--muted); line-height:1.6; font-size:.91rem; margin:0; }
.service-card a { margin-top:auto; padding-top:25px; color:var(--purple); font-weight:700; font-size:.82rem; }
.cta-section { background:var(--purple); color:var(--white); padding:62px 65px; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.cta-section h2 { font-size:clamp(2.1rem,4vw,3.5rem); margin:13px 0 0; }
.page-hero { max-width:800px; padding:110px 0 105px; }
.page-hero--compact h1 { font-size:clamp(3rem,6vw,5.4rem); }
.content-section { padding-bottom:110px; }
.split-section { display:grid; grid-template-columns:1fr 1fr; gap:100px; padding:75px 0 120px; border-top:1px solid var(--line); }
.about-statement h2 { font-size:3.5rem; line-height:1; margin-top:18px; }
.about-copy { color:var(--muted); line-height:1.8; font-size:1.05rem; }
.values-section { background:var(--purple); color:var(--white); margin:0 -28px; padding:70px max(28px,calc((100vw - 1124px)/2)); }
.values-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:40px; margin-top:50px; }
.values-grid strong { font:600 1.6rem 'Space Grotesk'; }
.values-grid p { color:#cbc7e5; line-height:1.6; }
.contact-layout { display:grid; grid-template-columns:1fr 1fr; gap:100px; padding:110px 0 100px; }
.contact-intro { position:relative; } .contact-orb { width:96px; height:96px; border-radius:50%; background:var(--red); margin-bottom:32px; box-shadow:18px 18px 0 var(--purple); } .contact-intro h1 { font-size:clamp(3rem,6vw,5.5rem); line-height:.96; }
.contact-intro > p { color:var(--muted); max-width:420px; font-size:1.05rem; line-height:1.7; }
.contact-email { display:inline-block; margin-top:35px; color:var(--purple); font-weight:700; border-bottom:1px solid currentColor; padding-bottom:5px; }
.contact-form { background:var(--white); padding:38px; display:flex; flex-direction:column; gap:10px; }
.contact-form label { font-size:.82rem; font-weight:700; margin-top:12px; }
.contact-form input,.contact-form textarea { border:0; border-bottom:1px solid var(--line); padding:12px 0; font:inherit; outline:0; resize:vertical; background:transparent; }
.contact-form input:focus,.contact-form textarea:focus { border-color:var(--purple); }
.contact-form .button { border:0; cursor:pointer; align-self:flex-start; margin-top:20px; }
footer { background:var(--ink); color:#c7c4d1; padding:35px max(28px,calc((100vw - 1124px)/2)); font-size:.8rem; }
.service-list { list-style:none; padding:18px 0 0; margin:0; border-top:1px solid var(--line); color:var(--muted); font-size:.88rem; line-height:1.6; }
.service-list li { padding:7px 0 7px 16px; position:relative; }
.service-list li::before { content:'+'; color:var(--red); font-weight:700; position:absolute; left:0; }
.contact-details { margin-top:32px; padding-top:24px; border-top:1px solid var(--line); }
.contact-details p { margin:0 0 22px; }
.contact-details strong { color:var(--ink); font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; }
.contact-details a { color:var(--purple); font-weight:700; }
footer a { color:var(--white); }
@media (max-width:760px) { .nav-wrap { min-height:70px; padding:0 20px; } .nav-links { gap:13px; font-size:.73rem; } .nav-links a { padding:26px 0 22px; } .nav-cta { display:none; } main { padding:0 20px 60px; } .hero { min-height:auto; display:block; padding:75px 0 70px; } h1 { font-size:3.7rem; } .hero-mark { width:260px; height:260px; margin:60px auto 0; } .mark-core { inset:60px; font-size:5rem; } .proof-strip { flex-wrap:wrap; font-size:.62rem; } .proof-strip span:not(:first-child) { display:none; } .intro-section,.split-section,.contact-layout { grid-template-columns:1fr; gap:30px; padding:80px 0; } .intro-section h2,.section-heading h2 { font-size:2.7rem; } .section-heading .text-link { position:static; display:inline-block; margin-top:4px; } .service-grid,.service-grid--home { grid-template-columns:1fr; } .service-card { min-height:230px; } .page-hero { padding:75px 0 65px; } .page-hero--compact h1 { font-size:3.5rem; } .about-statement h2 { font-size:2.8rem; } .values-section { margin:0 -20px; padding:60px 20px; } .values-grid { grid-template-columns:1fr; gap:25px; margin-top:35px; } .contact-layout { padding-top:75px; } .contact-form { padding:25px; } .cta-section { margin:0 -20px; padding:45px 20px; display:block; } .cta-section .button { margin-top:30px; } }
