:root { --green:#00442f; --green-2:#0c5b43; --mint-light:#f0f6f3; --ink:#10231c; --muted:#5d6d66; --paper:#fbfcfa; --line:rgba(0,68,47,.15); --white:#fff; --max:1240px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; line-height:1.55; }
a { color:inherit; }
img { display:block; max-width:100%; }
.skip-link { position:fixed; left:1rem; top:-5rem; z-index:99; padding:.8rem 1rem; background:var(--white); color:var(--green); border-radius:.4rem; }
.skip-link:focus { top:1rem; }
.site-header { position:sticky; top:0; z-index:80; width:100%; min-height:94px; padding-inline:max(1.5rem,calc((100% - var(--max))/2)); display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); background:rgba(251,252,250,.94); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); box-shadow:0 8px 24px rgba(0,45,31,.05); }
.brand img { display:block; width:205px; height:auto; }
.site-header nav { display:flex; align-items:center; gap:clamp(1rem,2.6vw,2.25rem); font-size:.92rem; }
.site-header nav a { text-decoration:none; }
.site-header nav a:not(.nav-contact):hover { color:var(--green-2); }
.nav-contact { padding:.7rem 1.1rem; border:1px solid var(--green); border-radius:999px; }
.nav-contact:hover { background:var(--green); color:var(--white); }
main > section { width:min(calc(100% - 3rem),var(--max)); margin-inline:auto; scroll-margin-top:112px; }
.hero { min-height:690px; display:grid; grid-template-columns:1.06fr .94fr; gap:5vw; align-items:center; padding:5.5rem 0 6rem; }
.eyebrow,.section-number { margin:0 0 1.35rem; color:var(--green-2); font-size:.75rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
h1,h2,h3,p { margin-top:0; }
h1 { margin-bottom:1.8rem; font-size:clamp(3.25rem,6vw,6.7rem); line-height:.94; letter-spacing:-.055em; font-weight:700; }
h1 span { color:var(--green); }
.hero-lead { max-width:690px; margin-bottom:2.2rem; color:var(--muted); font-size:clamp(1.05rem,1.7vw,1.3rem); }
.hero-actions { display:flex; flex-wrap:wrap; gap:.8rem; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:0 1.35rem; text-decoration:none; border-radius:999px; font-weight:700; font-size:.9rem; }
.button.primary { background:var(--green); color:var(--white); }
.button.primary:hover { background:var(--green-2); }
.button.secondary { border:1px solid var(--line); background:var(--white); }
.button.secondary:hover { border-color:var(--green); }
.hero-visual { position:relative; min-height:520px; overflow:hidden; border-radius:50% 50% 12% 50%; background:radial-gradient(circle at 68% 25%,#28765d 0 7%,transparent 7.3%),linear-gradient(145deg,#003b29,#0d5b43 68%,#94bba9); box-shadow:0 30px 80px rgba(0,68,47,.17); }
.visual-mark { position:absolute; inset:50% auto auto 50%; width:29%; transform:translate(-50%,-50%); }
.orbit { position:absolute; border:1px solid rgba(255,255,255,.2); border-radius:50%; }
.orbit-one { width:78%; aspect-ratio:1; left:11%; top:11%; }
.orbit-two { width:52%; aspect-ratio:1; left:24%; top:24%; }
.signal { position:absolute; display:flex; align-items:center; gap:.55rem; padding:.55rem .8rem; border:1px solid rgba(255,255,255,.22); background:rgba(0,40,28,.54); color:white; border-radius:999px; backdrop-filter:blur(8px); font-size:.75rem; }
.signal span { width:.45rem; height:.45rem; border-radius:50%; background:#9bd8ba; box-shadow:0 0 0 5px rgba(155,216,186,.12); }
.signal-a { left:9%; top:27%; } .signal-b { right:7%; top:45%; } .signal-c { left:24%; bottom:10%; }
.statement { display:grid; grid-template-columns:.35fr 1fr; gap:3rem; padding:8rem 0; border-top:1px solid var(--line); }
.statement h2,.section-heading h2,.principles h2,.contact-panel h2 { font-size:clamp(2.2rem,4.6vw,4.5rem); line-height:1.04; letter-spacing:-.04em; }
.statement > div { max-width:870px; }
.statement p:not(.section-number) { max-width:740px; color:var(--muted); font-size:1.2rem; }
.fields { width:100%; max-width:none; padding:8rem max(1.5rem,calc((100% - var(--max))/2)); background:var(--green); color:var(--white); }
.section-heading { display:grid; grid-template-columns:1fr 1fr; column-gap:6vw; margin-bottom:4rem; }
.section-heading .eyebrow { grid-column:1/-1; color:#a9d1bf; }
.section-heading h2 { margin-bottom:0; }
.section-heading > p:last-child { align-self:end; color:#c6d9d0; font-size:1.1rem; }
.field-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(255,255,255,.22); }
.field-grid article { position:relative; min-height:340px; padding:2rem 1.5rem 1.5rem; border-right:1px solid rgba(255,255,255,.18); }
.field-grid article:last-child { border-right:0; }
.field-index { color:#a9d1bf; font-size:.72rem; }
.field-icon { width:54px; height:54px; margin:3.3rem 0 2.1rem; display:grid; place-items:center; border:1px solid rgba(255,255,255,.3); border-radius:50%; font-size:1.3rem; }
.field-grid h3 { margin-bottom:.8rem; font-size:1.25rem; }
.field-grid p { color:#c6d9d0; font-size:.94rem; }
.principles { display:grid; grid-template-columns:.78fr 1.22fr; gap:7vw; padding:8rem 0; }
.principles-intro { position:sticky; top:7rem; align-self:start; }
.principle-list article { display:grid; grid-template-columns:55px 1fr; gap:1rem; padding:2rem 0; border-top:1px solid var(--line); }
.principle-list article > span { color:var(--green-2); font-size:.75rem; }
.principle-list h3 { margin-bottom:.35rem; font-size:1.55rem; }
.principle-list p { margin-bottom:0; color:var(--muted); }
.contact-panel { margin-bottom:6rem; padding:4rem; display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(2.5rem,5vw,5rem); align-items:start; background:var(--mint-light); border-radius:1rem; }
.contact-panel h2 { margin-bottom:1.2rem; }
.contact-link { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.2rem 0; border-bottom:1px solid var(--green); color:var(--green); text-decoration:none; font-size:clamp(1.05rem,2vw,1.5rem); }
.contact-link strong { font-size:2rem; font-weight:400; }
.contact-intro > p:not(.eyebrow) { max-width:34rem; color:var(--muted); }
.contact-trust { display:flex; flex-wrap:wrap; gap:.55rem; margin-top:1.5rem; }
.contact-trust span { padding:.35rem .65rem; border:1px solid var(--line); border-radius:999px; background:rgba(255,255,255,.55); color:var(--green-2); font-size:.74rem; font-weight:700; }
.contact-form { min-width:0; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.form-grid label { display:grid; gap:.42rem; color:var(--ink); font-size:.82rem; font-weight:700; }
.form-message { grid-column:1/-1; }
.contact-form input,.contact-form textarea { width:100%; border:1px solid rgba(0,68,47,.22); border-radius:.65rem; background:rgba(255,255,255,.9); color:var(--ink); font:inherit; font-weight:400; padding:.82rem .9rem; transition:border-color .2s,box-shadow .2s,background .2s; }
.contact-form textarea { min-height:150px; resize:vertical; }
.contact-form input:hover,.contact-form textarea:hover { border-color:rgba(0,68,47,.42); }
.contact-form input:focus,.contact-form textarea:focus { outline:0; border-color:var(--green); background:var(--white); box-shadow:0 0 0 3px rgba(0,68,47,.11); }
.form-honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.privacy-check { margin-top:1rem; display:flex; align-items:flex-start; gap:.65rem; color:var(--muted); font-size:.82rem; }
.privacy-check input { flex:0 0 auto; width:1rem; height:1rem; margin-top:.17rem; accent-color:var(--green); }
.privacy-check a { color:var(--green); }
.form-actions { margin-top:1.25rem; display:flex; align-items:center; gap:1rem; min-height:54px; }
.form-actions button { min-height:50px; padding:0 1.25rem; display:inline-flex; align-items:center; gap:1rem; border:0; border-radius:999px; background:var(--green); color:var(--white); font:inherit; font-size:.9rem; font-weight:700; cursor:pointer; }
.form-actions button:hover { background:var(--green-2); }
.form-actions button:focus-visible { outline:3px solid rgba(0,68,47,.25); outline-offset:3px; }
.form-actions button:disabled { cursor:wait; opacity:.68; }
.form-actions button strong { font-size:1.35rem; font-weight:400; }
.form-status { margin:0; color:var(--muted); font-size:.85rem; }
.form-status.is-success { color:var(--green); font-weight:700; }
.form-status.is-error { color:#8a2d24; font-weight:700; }
.contact-form noscript { display:block; margin-top:1rem; color:#8a2d24; font-size:.85rem; }
footer { padding:4rem max(1.5rem,calc((100% - var(--max))/2)); display:grid; grid-template-columns:1.25fr 1fr auto; gap:2rem; align-items:start; background:#082a20; color:#dceae4; }
.footer-brand img { display:block; width:185px; height:auto; padding:8px 10px; background:#fff; border-radius:10px; } footer p { max-width:330px; color:#a9c0b6; }
footer nav { display:grid; gap:.55rem; } footer nav a { text-decoration:none; } footer nav a:hover { color:var(--white); }
footer small { grid-column:1/-1; padding-top:2rem; border-top:1px solid rgba(255,255,255,.14); color:#8ca69a; }
.legal-shell { min-height:100vh; display:flex; flex-direction:column; }
.legal-main { width:min(calc(100% - 3rem),860px); margin:0 auto; padding:5.5rem 0 7rem; flex:1; }
.legal-main h1 { font-size:clamp(2.7rem,6vw,5rem); }
.legal-main h2 { margin-top:2.8rem; font-size:1.35rem; }
.legal-main p,.legal-main li { color:#43564e; }
.legal-main a { color:var(--green); }
.legal-note { padding:1rem 1.2rem; background:var(--mint-light); border-left:3px solid var(--green); }
.legal-back { display:inline-block; margin-bottom:2.5rem; color:var(--green); text-decoration:none; }
@media (max-width:960px) {
  .hero { grid-template-columns:1fr; padding-top:4rem; } .hero-visual { min-height:450px; }
  .field-grid { grid-template-columns:repeat(2,1fr); } .field-grid article:nth-child(2) { border-right:0; } .field-grid article:nth-child(-n+2) { border-bottom:1px solid rgba(255,255,255,.18); }
  .principles { grid-template-columns:1fr; } .principles-intro { position:static; } .contact-panel { grid-template-columns:1fr; }
}
@media (max-width:720px) {
  .site-header { width:100%; min-height:78px; padding-inline:1rem; } .brand img { width:164px; } .site-header nav a:not(.nav-contact) { display:none; }
  main > section { width:min(calc(100% - 2rem),var(--max)); } .hero { min-height:auto; padding:4rem 0; } .hero-visual { min-height:370px; }
  .statement { grid-template-columns:1fr; padding:5.5rem 0; } .fields { width:100%; padding-block:5.5rem; }
  .section-heading { grid-template-columns:1fr; } .section-heading h2 { margin-bottom:1.4rem; }
  .field-grid { grid-template-columns:1fr; } .field-grid article { min-height:285px; border-right:0; border-bottom:1px solid rgba(255,255,255,.18); } .field-grid article:last-child { border-bottom:0; } .field-icon { margin:2.2rem 0 1.6rem; }
  .principles { padding:5.5rem 0; } .contact-panel { width:calc(100% - 2rem); margin-bottom:3rem; padding:2rem; } .form-grid { grid-template-columns:1fr; } .form-message { grid-column:auto; } .form-actions { align-items:flex-start; flex-direction:column; }
  footer { grid-template-columns:1fr; } footer small { grid-column:auto; } .legal-main { width:calc(100% - 2rem); padding-top:3.5rem; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
