:root{--ink:#17231f;--green:#20473a;--lime:#cbed5b;--cream:#f3efe3;--blue:#8dc9e8;--white:#fff;--line:rgba(23,35,31,.16)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,Avenir,"Helvetica Neue",Arial,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Avenir,"Helvetica Neue",Arial,sans-serif;line-height:1.05;letter-spacing:-.04em}h2{font-size:clamp(2.3rem,5vw,4.7rem);margin-bottom:28px}.site-header{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;position:absolute;z-index:20;width:100%;color:white;border-bottom:1px solid rgba(255,255,255,.18)}.brand{display:flex;align-items:center;gap:12px;font:800 .83rem/1 Avenir,"Helvetica Neue",Arial,sans-serif;letter-spacing:.11em}.brand-mark{width:34px;height:34px;position:relative;display:inline-block}.brand-mark i{position:absolute;width:21px;height:21px;border:2px solid currentColor;border-radius:50%}.brand-mark i:first-child{left:1px;top:1px}.brand-mark i:last-child{right:1px;bottom:1px}.site-header nav{display:flex;align-items:center;gap:34px;font-size:.92rem}.nav-cta{border:1px solid rgba(255,255,255,.5);padding:10px 17px;border-radius:30px}.menu-button{display:none;background:transparent;border:1px solid rgba(255,255,255,.4);border-radius:30px;color:white;padding:8px 14px}.hero{min-height:850px;background:var(--green);color:white;padding:180px 5vw 54px;display:grid;grid-template-columns:1.05fr .95fr;grid-template-rows:1fr auto;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 72% 45%,rgba(203,237,91,.13),transparent 31%),linear-gradient(120deg,transparent 65%,rgba(255,255,255,.035) 65%)}.hero-copy{position:relative;z-index:2;max-width:740px}.eyebrow,.section-label{text-transform:uppercase;letter-spacing:.13em;font-size:.75rem;font-weight:700}.eyebrow{display:flex;align-items:center;gap:10px;color:#dce9e3}.eyebrow span{display:block;width:31px;height:2px;background:var(--lime)}h1{font-size:clamp(3.7rem,7.3vw,7.8rem);margin:35px 0 28px;max-width:850px}h1 em{font-style:normal;color:var(--lime)}.lead{font-size:clamp(1.05rem,1.5vw,1.35rem);max-width:590px;color:#d3e2db}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:42px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:17px 21px;border-radius:3px;font-weight:700}.button.primary{background:var(--lime);color:var(--ink)}.text-link{border-bottom:1px solid rgba(255,255,255,.45);padding:11px 0}.text-link span{margin-left:10px}.hero-visual{position:relative;min-height:460px;z-index:1}.material-sphere{position:absolute;border-radius:50%}.sphere-main{width:290px;height:290px;left:23%;top:12%;background:radial-gradient(circle at 31% 27%,#efffb4 0 4%,#cbed5b 30%,#82a932 67%,#38531d 100%);box-shadow:0 45px 80px rgba(0,0,0,.34);display:grid;place-items:center}.sphere-main:before,.sphere-main:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.36);border-radius:50%}.sphere-main:before{inset:28px -14px;transform:rotate(24deg)}.sphere-main:after{inset:-14px 55px;transform:rotate(-24deg)}.sphere-main span{font:.68rem Avenir,"Helvetica Neue",Arial,sans-serif;letter-spacing:.23em;transform:rotate(-12deg);color:#284017}.sphere-small{width:68px;height:68px;right:9%;bottom:23%;background:radial-gradient(circle at 30% 25%,white,var(--blue) 34%,#315d76)}.orbit{position:absolute;border:1px solid rgba(255,255,255,.2);border-radius:50%}.orbit-one{width:460px;height:460px;left:3%;top:-6%}.orbit-two{width:560px;height:220px;left:-5%;top:20%;transform:rotate(-25deg)}.tag{position:absolute;font:700 .62rem/1.25 Avenir,"Helvetica Neue",Arial,sans-serif;letter-spacing:.1em}.tag:before{content:"";display:block;width:8px;height:8px;border:1px solid white;border-radius:50%;margin-bottom:8px}.tag-one{right:10%;top:18%}.tag-two{left:5%;bottom:17%}.hero-stats{position:relative;z-index:2;grid-column:1/-1;display:flex;gap:70px;border-top:1px solid rgba(255,255,255,.18);padding-top:28px}.hero-stats div{display:flex;gap:14px;align-items:flex-start}.hero-stats strong{font:700 1.9rem Avenir,"Helvetica Neue",Arial,sans-serif;color:var(--lime)}.hero-stats span{font-size:.78rem;line-height:1.35;color:#c4d6cd}.section-pad{padding:120px 7vw}.section-label{color:#617069;margin-bottom:22px}.intro{display:grid;grid-template-columns:.4fr 1.6fr;gap:6vw;border-bottom:1px solid var(--line)}.intro>div{max-width:950px}.intro p:last-child{max-width:760px;font-size:1.16rem;color:#4e5d57}.materials{background:#e7e3d6}.section-heading{display:grid;grid-template-columns:.4fr 1.6fr;gap:6vw}.section-heading h2{max-width:900px}.material-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.material-card{min-height:490px;padding:32px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end}.material-card h3{font-size:2.2rem;margin:0 0 13px}.material-card p{max-width:470px;margin-bottom:0}.material-card.dark{background:var(--ink);color:white}.material-card.lime{background:var(--lime)}.material-card.cream{background:#faf8f1}.material-card.blue{background:var(--blue)}.card-number{position:absolute;left:30px;top:25px;font:700 .7rem Avenir,"Helvetica Neue",Arial,sans-serif;letter-spacing:.12em}.card-shape{position:absolute;right:4%;top:3%;width:58%;height:62%}.rings{border:24px double #9fd06e;border-radius:50%;transform:rotate(-25deg);box-shadow:inset 0 0 0 22px var(--ink),inset 0 0 0 44px #5c8252}.wave{border-radius:50%;border:32px solid var(--ink);border-left-color:transparent;transform:rotate(25deg)}.loop{border:28px solid #ff7854;border-radius:50% 20% 50% 20%;transform:rotate(35deg)}.bands{background:repeating-linear-gradient(135deg,transparent 0 24px,var(--ink) 25px 42px);transform:skew(-12deg)}.services{background:#faf8f1}.service-list{border-top:1px solid var(--line)}.service-list article{display:grid;grid-template-columns:.18fr .65fr 1fr;gap:28px;align-items:start;padding:35px 0;border-bottom:1px solid var(--line)}.service-list span{font-size:.75rem;font-weight:700}.service-list h3{font-size:1.55rem;margin:0}.service-list p{margin:0;max-width:670px;color:#53625b}.why{background:var(--green);color:white;display:grid;grid-template-columns:1fr 1fr;gap:8vw}.why .section-label{color:#afc2b9}.benefits article{display:grid;grid-template-columns:60px 1fr;gap:20px;padding:28px 0;border-bottom:1px solid rgba(255,255,255,.15)}.benefits article>span{font-size:2.1rem;color:var(--lime)}.benefits h3{margin:0 0 8px;font-size:1.35rem}.benefits p{color:#bfd0c8;margin:0}.contact{background:var(--lime);display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;align-items:center}.contact-copy h2{max-width:850px}.contact-copy>p:last-child{max-width:620px;font-size:1.12rem}.contact-card{background:var(--ink);color:white;padding:38px}.contact-card>p{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:#a9b8b2;margin-bottom:6px}.contact-card>a{font:700 clamp(1.05rem,1.8vw,1.4rem) Avenir,"Helvetica Neue",Arial,sans-serif;display:flex;justify-content:space-between}.contact-card hr{border:0;border-top:1px solid rgba(255,255,255,.15);margin:27px 0}.contact-card small{display:block;margin-top:32px;color:#a9b8b2}footer{background:#111b18;color:#aab9b3;padding:55px 5vw 30px;display:grid;grid-template-columns:1fr 1.2fr .7fr;gap:35px;align-items:center;font-size:.8rem}footer .footer-brand{color:white}footer div{display:flex;gap:20px}footer>p:last-child{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.1);padding-top:20px;margin:0}.legal{max-width:900px;margin:auto;padding:140px 6vw 100px}.legal h1{font-size:clamp(3rem,7vw,6rem);color:var(--green)}.legal h2{font-size:1.55rem;margin-top:42px}.legal .notice{background:#fff2b9;padding:20px;border-left:4px solid #e2b52d}.legal a{text-decoration:underline}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:850px){.site-header{height:72px}.menu-button{display:block}.site-header nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--ink);padding:25px 5vw;flex-direction:column;align-items:flex-start}.site-header nav.open{display:flex}.hero{grid-template-columns:1fr;padding-top:135px}.hero-visual{min-height:390px}.sphere-main{width:230px;height:230px;left:20%}.hero-stats{gap:25px;flex-wrap:wrap}.intro,.section-heading,.why,.contact{grid-template-columns:1fr}.section-pad{padding:80px 6vw}.material-grid{grid-template-columns:1fr}.material-card{min-height:430px}.service-list article{grid-template-columns:.12fr 1fr}.service-list article p{grid-column:2}footer{grid-template-columns:1fr}}
@media(max-width:520px){h1{font-size:3.3rem}.hero-actions{align-items:flex-start;flex-direction:column}.hero-stats{display:grid;grid-template-columns:1fr 1fr}.material-card{min-height:390px}.service-list article{grid-template-columns:1fr}.service-list article p{grid-column:1}.contact-card{padding:26px}.card-shape{width:65%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}

.direct-contact{display:flex;flex-direction:column;gap:8px;margin-top:35px;font-weight:600}.direct-contact span{font-weight:400;max-width:520px}.contact-card label{display:block;font-size:.75rem;color:#c6d2cd;margin:16px 0 6px}.contact-card input,.contact-card textarea{width:100%;border:1px solid rgba(255,255,255,.25);border-radius:2px;background:rgba(255,255,255,.06);color:white;font:inherit;padding:12px}.contact-card textarea{resize:vertical}.contact-card input:focus,.contact-card textarea:focus{outline:2px solid var(--lime);outline-offset:1px}.contact-card .consent{display:flex;gap:10px;align-items:flex-start;line-height:1.35;margin:18px 0}.contact-card .consent input{width:auto;margin-top:3px}.contact-card .consent a{text-decoration:underline}.contact-card button{width:100%;border:0;cursor:pointer;font:700 1rem Avenir,"Helvetica Neue",Arial,sans-serif}.contact-card small{line-height:1.4}
.brand img{display:block;width:190px;height:auto;background:white;padding:5px 10px;border-radius:3px}.footer-brand img{width:220px}.site-header .brand{filter:drop-shadow(0 6px 12px rgba(0,0,0,.12))}@media(max-width:520px){.brand img{width:155px}.footer-brand img{width:190px}}
