*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--forest: #3d5c35;--pine: #4e7244;--moss: #6a9060;--sage: #8aaa7a;--gold: #b07c30;--amber: #c99040;--cream: #ffffff;--ivory: #ffffff;--warm: #f0f0f0;--bg-light:#f5f5f5;--text: #1c1a16;--muted: #58513e;--light: #8a7a60}html{scroll-behavior:smooth}body{font-family:DM Sans,sans-serif;background:#fff;color:var(--text);overflow-x:hidden}body:after{content:"";position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");pointer-events:none;z-index:9999;opacity:.4}h1,h2,h3{font-family:Playfair Display,serif;line-height:1.15}nav{position:fixed;top:0;left:0;right:0;z-index:200;height:80px;padding:0 clamp(1.5rem,6vw,5rem);display:flex;align-items:center;justify-content:space-between;background:#fffffff7;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(100,130,80,.12);transition:box-shadow .3s}nav.scrolled{box-shadow:0 2px 28px #1c1e1012}.logo{display:flex;align-items:center;gap:.6rem;text-decoration:none}.logo img{height:64px;width:auto;display:block}.nav-links{display:flex;gap:clamp(1.5rem,3vw,2.5rem);list-style:none}.nav-links a{font-size:.75rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color .2s;position:relative}.nav-links a:after{content:"";position:absolute;bottom:-4px;left:0;right:0;height:1px;background:var(--forest);transform:scaleX(0);transform-origin:left;transition:transform .25s}.nav-links a:hover{color:var(--forest)}.nav-links a:hover:after{transform:scaleX(1)}.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:4px}.hamburger span{display:block;width:22px;height:1.5px;background:var(--forest);transition:all .3s}.hamburger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}.mobile-menu{position:fixed;top:80px;left:0;right:0;z-index:199;background:#fff;border-bottom:1px solid rgba(100,130,80,.15);padding:1.5rem clamp(1.5rem,6vw,5rem);display:flex;flex-direction:column;gap:1rem;transform:translateY(-110%);transition:transform .35s cubic-bezier(.22,1,.36,1)}.mobile-menu.open{transform:translateY(0)}.mobile-menu a{font-size:.82rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-decoration:none;padding:.4rem 0;border-bottom:1px solid rgba(100,130,80,.1);transition:color .2s}.mobile-menu a:hover{color:var(--forest)}#home{min-height:100svh;background:var(--forest);display:flex;align-items:center;padding:80px clamp(1.5rem,8vw,8rem) 0;position:relative;overflow:hidden}.hero-circle{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.05);pointer-events:none}.hero-circle:nth-child(1){width:700px;height:700px;top:-250px;right:-250px}.hero-circle:nth-child(2){width:450px;height:450px;top:-130px;right:-130px}.hero-circle:nth-child(3){width:550px;height:550px;bottom:-200px;left:-220px}.hero-vline{position:absolute;top:0;bottom:0;left:58%;width:1px;background:linear-gradient(to bottom,transparent,rgba(160,200,100,.18),transparent);pointer-events:none}.hero-content{position:relative;z-index:2;max-width:800px;width:100%;padding-top:4.5rem;padding-bottom:8rem}.eyebrow{font-size:.68rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--sage);margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem;opacity:0;animation:fadeUp .8s .15s forwards}.eyebrow:before{content:"";display:block;width:28px;height:1px;background:var(--sage)}h1.hero-h1{font-size:clamp(2.8rem,7vw,5.6rem);font-weight:400;color:var(--cream);line-height:1.1;margin-bottom:1.75rem;opacity:0;animation:fadeUp .9s .35s forwards}h1.hero-h1 em{font-style:italic;color:var(--sage)}.hero-para{font-size:clamp(.95rem,1.8vw,1.1rem);font-weight:300;color:#f5ede0ad;max-width:500px;line-height:1.8;margin-bottom:3.5rem;opacity:0;animation:fadeUp .9s .55s forwards}.btn-outline{display:inline-flex;align-items:center;gap:.7rem;padding:.82rem 1.7rem;border:1px solid rgba(138,170,122,.55);color:var(--sage);font-size:.75rem;font-weight:500;letter-spacing:.13em;text-transform:uppercase;text-decoration:none;transition:all .3s;opacity:0;animation:fadeUp .9s .75s forwards}.btn-outline:hover{background:var(--moss);border-color:var(--moss);color:#fff;gap:1rem}.btn-outline svg{transition:transform .3s}.btn-outline:hover svg{transform:translate(3px)}.hero-stats{position:absolute;bottom:2.5rem;left:clamp(1.5rem,8vw,8rem);display:flex;align-items:center;gap:2rem;opacity:0;animation:fadeUp .9s .95s forwards}.stat-num{font-family:Playfair Display,serif;font-size:1.4rem;font-weight:500;color:var(--cream);line-height:1}.stat-lbl{font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:#f5ede061;margin-top:.2rem}.stat-div{width:1px;height:38px;background:#ffffff1a}.slabel{font-size:.68rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--forest);margin-bottom:.9rem;display:flex;align-items:center;gap:.6rem}.slabel:before{content:"";display:block;width:22px;height:1px;background:var(--forest)}#mission{background:#fff;display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,7vw,7rem);align-items:center;padding:clamp(5rem,10vw,9rem) clamp(1.5rem,8vw,8rem)}.mission-text h2{font-size:clamp(1.9rem,4vw,3.1rem);font-weight:400;color:var(--forest);margin-bottom:1.5rem}.mission-text h2 em{font-style:italic;color:var(--moss)}.mission-text p{font-size:.97rem;font-weight:300;color:var(--muted);line-height:1.85;margin-bottom:1rem}.mission-text p:last-child{margin-bottom:0}.mission-img-wrap{position:relative;aspect-ratio:4/5;overflow:hidden}.mission-img-wrap:before{content:"";position:absolute;inset:-10px -10px 10px 10px;border:1px solid rgba(61,92,53,.2);z-index:0}.mission-img-wrap img{width:100%;height:100%;object-fit:cover;display:block;position:relative;z-index:1;transition:transform .6s}.mission-img-wrap:hover img{transform:scale(1.04)}.m-badge{position:absolute;bottom:1.5rem;left:-1.5rem;background:#3d5c35;padding:1.2rem 1.5rem;z-index:2}.m-badge-num{font-family:Playfair Display,serif;font-size:1.9rem;font-weight:500;color:var(--sage);line-height:1}.m-badge-txt{font-size:.68rem;letter-spacing:.06em;color:#f5ede0a6;margin-top:.3rem}#pillars{background:var(--bg-light);padding:clamp(5rem,10vw,9rem) clamp(1.5rem,8vw,8rem)}.pillars-hdr{max-width:520px;margin-bottom:clamp(3rem,6vw,5rem)}.pillars-hdr h2{font-size:clamp(1.75rem,3.5vw,2.7rem);font-weight:400;color:var(--forest);margin-bottom:.9rem}.pillars-hdr p{font-size:.93rem;font-weight:300;color:var(--muted);line-height:1.8}.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5px;background:#3d5c351f}.pcell{background:#f5f5f5;padding:2.5rem 2rem;position:relative;overflow:hidden;transition:background .3s}.pcell:hover{background:#fff}.pcell:after{content:"";position:absolute;bottom:0;left:2rem;right:2rem;height:2px;background:var(--forest);transform:scaleX(0);transform-origin:left;transition:transform .35s}.pcell:hover:after{transform:scaleX(1)}.picon{width:42px;height:42px;border-radius:50%;background:var(--forest);display:flex;align-items:center;justify-content:center;margin-bottom:1.4rem}.picon svg{width:18px;height:18px}.pcell h3{font-size:1.1rem;font-weight:500;color:var(--forest);margin-bottom:.7rem}.pcell p{font-size:.86rem;font-weight:300;color:var(--muted);line-height:1.75}#about{background:var(--forest);color:var(--cream);display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,7vw,7rem);align-items:center;padding:clamp(5rem,10vw,9rem) clamp(1.5rem,8vw,8rem)}.about-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:.75rem}.aimg{overflow:hidden}.aimg:first-child{grid-row:span 2}.aimg img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.8);transition:transform .6s}.aimg:hover img{transform:scale(1.06)}.about-text .slabel{color:var(--sage)}.about-text .slabel:before{background:var(--sage)}.about-text h2{font-size:clamp(2rem,4vw,3rem);font-weight:400;color:var(--cream);margin-bottom:1.4rem}.about-text h2 em{font-style:italic;color:var(--sage)}.about-text p{font-size:.97rem;font-weight:300;color:#f5ede0b8;line-height:1.85;margin-bottom:.95rem}.a-locations{display:flex;gap:1.75rem;margin-top:2rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.08);flex-wrap:wrap}.a-loc{display:flex;align-items:flex-start;gap:.55rem}.a-dot{width:5px;height:5px;background:var(--sage);border-radius:50%;margin-top:.4rem;flex-shrink:0}.a-loc strong{display:block;font-size:.76rem;font-weight:500;color:var(--cream);letter-spacing:.06em;margin-bottom:.1rem}.a-loc span{font-size:.72rem;color:#f5ede06b}#contact{background:#fff;display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,7vw,7rem);align-items:start;padding:clamp(5rem,10vw,9rem) clamp(1.5rem,8vw,8rem)}.contact-left h2{font-size:clamp(2rem,4vw,3rem);font-weight:400;color:var(--forest);margin-bottom:1rem}.contact-left h2 em{font-style:italic;color:var(--moss)}.contact-left>p{font-size:.95rem;font-weight:300;color:var(--muted);line-height:1.8}.c-details{margin-top:2.5rem;display:flex;flex-direction:column;gap:1.25rem}.c-item{display:flex;align-items:flex-start;gap:1rem}.c-icon{width:36px;height:36px;border-radius:50%;background:var(--forest);display:flex;align-items:center;justify-content:center;flex-shrink:0}.c-icon svg{width:15px;height:15px}.c-lbl{font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:var(--light);margin-bottom:.22rem}.c-val{font-size:.93rem;color:var(--forest);text-decoration:none;transition:color .2s}.c-val:hover{color:var(--moss)}.c-form{background:#f5f5f5;padding:clamp(2rem,4vw,3rem);border:1px solid rgba(61,92,53,.15)}.c-form h3{font-size:1.2rem;font-weight:500;color:var(--forest);margin-bottom:.4rem}.c-form>p{font-size:.83rem;color:var(--muted);margin-bottom:1.75rem;font-weight:300}.fg{margin-bottom:1.2rem}.fg label{display:block;font-size:.67rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.45rem}.fg input,.fg textarea,.fg select{width:100%;padding:.78rem .95rem;background:#fff;border:1px solid rgba(61,92,53,.2);color:var(--text);font-family:DM Sans,sans-serif;font-size:.88rem;outline:none;transition:border-color .2s;appearance:none}.fg input:focus,.fg textarea:focus,.fg select:focus{border-color:var(--forest)}.fg textarea{resize:vertical;min-height:100px}.frow{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.btn-send{width:100%;padding:.88rem;background:var(--forest);color:var(--cream);border:none;font-family:DM Sans,sans-serif;font-size:.75rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:background .25s}.btn-send:hover{background:var(--pine)}.btn-send:disabled{background:var(--pine);cursor:default}footer{background:#1a2816;padding:2.25rem clamp(1.5rem,8vw,8rem);display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.04)}.ft-logo{font-family:Playfair Display,serif;font-size:.93rem;color:#f5ede080;letter-spacing:.03em}.ft-copy{font-size:.7rem;color:#f5ede038;letter-spacing:.05em}.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}@keyframes fadeUp{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@media(max-width:900px){#mission,#about,#contact{grid-template-columns:1fr}.mission-img-wrap{aspect-ratio:16/9}.mission-img-wrap:before{display:none}.m-badge{bottom:1rem;left:1rem}.pgrid{grid-template-columns:1fr}.about-grid{grid-template-columns:1fr 1fr}.aimg:first-child{grid-row:span 1}.nav-links{display:none}.hamburger{display:flex}}@media(max-width:600px){.hero-stats{gap:1.25rem}.about-grid{grid-template-columns:1fr}.aimg:first-child{grid-row:span 1}.frow{grid-template-columns:1fr}.a-locations{flex-direction:column;gap:.85rem}}
