*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--forest:#0d1f0f;--forest2:#122b1a;--cream:#f5f2eb;--cream2:#edeadf;--terra:#f97316;--terra-light:#fb923c;--green:#4ade80;--border:#00000017;--gold:#b8956a;--sage:#8a8a82;--sage-light:#b5b5ad;--text2:#4a4a46;--text3:#8a8a82;--text4:#b0b0a8;--radius:14px}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--forest);font-family:var(--sans);font-weight:300;line-height:1.7;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:1;background-image:radial-gradient(at 20%,#4ade800a 0%,#0000 60%),radial-gradient(at 80% 20%,#f9731608 0%,#0000 50%);position:fixed;inset:0}.section-label{font-family:var(--mono);color:var(--terra);letter-spacing:.15em;text-transform:uppercase;align-items:center;gap:8px;margin-bottom:1rem;font-size:11px;display:inline-flex}.section-label:before{content:"";background:var(--terra);width:20px;height:1.5px}.sec-title{font-family:var(--serif);color:var(--forest);letter-spacing:-.02em;margin-bottom:1rem;font-size:clamp(2rem,4vw,3.2rem);font-weight:700;line-height:1.15}.sec-intro{color:var(--text2);max-width:580px;margin-bottom:3.5rem;font-size:15px;line-height:1.8}.stripe{background:var(--border);width:100%;height:1px}.btn-terra{background:var(--terra);color:#fff;font-family:var(--sans);cursor:pointer;border:none;border-radius:30px;align-items:center;gap:8px;padding:14px 28px;font-size:14px;font-weight:500;text-decoration:none;transition:background .2s,transform .15s;display:inline-flex}.btn-terra:hover{background:var(--terra-light);color:#fff;transform:translateY(-1px)}.btn-forest-outline{color:var(--forest);border:1.5px solid var(--forest);font-family:var(--sans);background:0 0;border-radius:30px;align-items:center;gap:8px;padding:13px 26px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.btn-forest-outline:hover{background:var(--forest);color:#fff}.fi{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(20px)}.fi.vis{opacity:1;transform:none}.projects-scroll::-webkit-scrollbar{display:none}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}@keyframes fadeDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
