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

:root { --ink:#123a30; --deep:#0c2922; --green:#23715a; --mint:#dceee6; --cream:#f5f2e9; --paper:#fbfaf6; --gold:#c5943d; --muted:#687a73; --line:#d7dfda; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:"DM Sans",sans-serif; }
a { color:inherit; }
.topbar { position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; width:min(1180px,calc(100% - 48px)); margin:auto; padding:28px 0; }
.brand { color:var(--ink); font-family:"Manrope",sans-serif; font-size:1.55rem; font-weight:800; letter-spacing:-.07em; text-decoration:none; }.brand span { color:var(--gold); }
.contact { padding:10px 16px; border:1px solid rgba(18,58,48,.2); border-radius:99px; font-size:.82rem; font-weight:700; text-decoration:none; transition:.2s; }.contact:hover { border-color:var(--green); background:#fff; }
.hero { position:relative; display:grid; grid-template-columns:1.6fr .7fr; gap:80px; align-items:end; width:min(1180px,calc(100% - 48px)); min-height:560px; margin:auto; padding:92px 0 105px; }
.hero::before { content:""; position:absolute; z-index:-1; top:-130px; right:-18vw; width:630px; height:630px; border-radius:50%; background:radial-gradient(circle,#d4ebe0 0,#edf3ed 48%,transparent 70%); }
.eyebrow { margin:0 0 20px; color:var(--gold); font-size:.72rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
h1,h2,h3 { margin:0; font-family:"Manrope",sans-serif; letter-spacing:-.045em; }
h1 { max-width:820px; color:var(--deep); font-size:clamp(3.4rem,7vw,6.6rem); line-height:.96; }
.lead { max-width:700px; margin:32px 0; color:var(--muted); font-size:1.15rem; line-height:1.7; }
.primary-action { display:inline-flex; gap:24px; align-items:center; padding:15px 20px; border-radius:9px; color:#fff; background:var(--ink); font-size:.86rem; font-weight:700; text-decoration:none; }.primary-action span { font-size:1.1rem; }
.manifesto { padding:28px; border-top:1px solid var(--ink); background:rgba(255,255,255,.35); }.manifesto-number { color:var(--gold); font:700 .72rem "Manrope",sans-serif; letter-spacing:.14em; }.manifesto p { margin:44px 0 0; font:600 1.1rem/1.55 "Manrope",sans-serif; }
.solutions { padding:100px max(24px,calc((100% - 1180px)/2)); background:var(--cream); }
.section-heading { display:flex; justify-content:space-between; gap:60px; align-items:end; margin-bottom:48px; }.section-heading h2 { color:var(--deep); font-size:clamp(2.2rem,4vw,3.6rem); }.section-heading>p { max-width:470px; margin:0; color:var(--muted); line-height:1.7; }
.product-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.product { display:flex; flex-direction:column; min-height:380px; padding:30px; border:1px solid var(--line); border-radius:18px; background:rgba(255,255,255,.75); transition:transform .2s,box-shadow .2s; }.product:hover { transform:translateY(-3px); box-shadow:0 18px 50px rgba(20,53,43,.08); }.product.featured { color:#eef8f3; border-color:var(--deep); background:var(--deep); }.product.wide { grid-column:1/-1; min-height:310px; }
.product-top { display:flex; justify-content:space-between; align-items:center; }.index { color:var(--gold); font:800 .76rem "Manrope",sans-serif; }.status { padding:6px 9px; border-radius:99px; color:#65756e; background:#edf0ed; font-size:.65rem; font-weight:800; text-transform:uppercase; }.active .status { color:#176447; background:#dcefe6; }.featured .status { color:#d9f3e6; background:#245343; }.paused .status { color:#8a6324; background:#f4e8cc; }
.product h3 { margin-top:50px; font-size:2rem; }.product>p { max-width:620px; margin:18px 0 28px; color:var(--muted); line-height:1.65; }.featured>p,.featured .meta span { color:#b9cec5; }
.meta { display:grid; gap:5px; margin-top:auto; padding-top:18px; border-top:1px solid var(--line); }.featured .meta { border-color:#31584a; }.meta strong { font-size:.86rem; }.meta span { color:#7a8882; font-size:.75rem; line-height:1.45; }
.product-link { display:flex; justify-content:space-between; align-items:center; margin-top:24px; padding:13px 15px; border-radius:8px; color:#fff; background:var(--green); font-size:.82rem; font-weight:800; text-decoration:none; }.featured .product-link { color:var(--deep); background:#dcefe6; }
.about { display:grid; grid-template-columns:1fr 1fr; gap:90px; padding:100px max(24px,calc((100% - 1180px)/2)); background:var(--paper); }.about h2 { max-width:560px; color:var(--deep); font-size:clamp(2.2rem,4vw,3.6rem); line-height:1.08; }.about-copy { padding-top:4px; }.about-copy>p { margin:0 0 26px; color:var(--muted); line-height:1.7; }.about-copy ul { display:grid; gap:10px; margin:0 0 30px; padding:0; list-style:none; }.about-copy li { padding:12px 0; border-bottom:1px solid var(--line); font:700 .92rem "Manrope",sans-serif; }.about-copy a { display:inline-flex; gap:14px; align-items:center; color:var(--green); font-size:.86rem; font-weight:800; text-decoration:none; }
footer { display:grid; grid-template-columns:1fr auto; gap:10px 30px; align-items:center; padding:55px max(24px,calc((100% - 1180px)/2)); color:#bcd0c7; background:#09221c; }.footer-brand { color:#fff; }.footer-brand span { color:var(--gold); } footer p { margin:0; font-size:.85rem; } footer small { grid-column:1/-1; color:#6f8b80; font-size:.68rem; }
@media(max-width:800px){.hero{grid-template-columns:1fr;gap:45px;padding:65px 0 75px}.manifesto p{margin-top:25px}.section-heading{display:grid}.product-grid{grid-template-columns:1fr}.product.wide{grid-column:auto}.solutions{padding-top:75px}.product{min-height:340px}.about{grid-template-columns:1fr;gap:42px;padding-top:75px;padding-bottom:75px}}
@media(max-width:520px){.topbar,.hero{width:calc(100% - 30px)}.contact{font-size:.72rem}.hero{min-height:auto}h1{font-size:3rem}.lead{font-size:1rem}.solutions{padding-left:15px;padding-right:15px}.product{padding:23px}.product-top{align-items:flex-start;gap:15px}.status{text-align:right}footer{grid-template-columns:1fr}footer small{grid-column:auto}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
