@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;0,700;1,600&display=swap');

:root{
  --green:#0d4035; --green2:#164f42; --gold:#b89a5a; --ink:#18302a;
  --paper:#f8f7f2; --line:#dfe4de; --muted:#68756f; --white:#fff;
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--paper);font-family:"DM Sans",Arial,sans-serif;line-height:1.6}
body:before{content:"";position:fixed;inset:0;background:url("assets/bamboo-background.png") center/cover no-repeat;opacity:.16;pointer-events:none;z-index:-1}
a{color:inherit;text-decoration:none}.site-header{height:82px;padding:0 6vw;display:flex;align-items:center;justify-content:space-between;background:rgba(248,247,242,.9);backdrop-filter:blur(12px);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(13,64,53,.08)}
.brand{display:flex;align-items:center;gap:11px}.brand-mark{font-size:29px;color:var(--green);font-family:serif}.brand strong{display:block;font-size:20px;letter-spacing:.12em}.brand small{display:block;color:var(--gold);font-size:9px;letter-spacing:.19em}
.nav{display:flex;gap:28px;align-items:center;font-size:14px}.nav a{color:#35534b}.nav a:hover{color:var(--green)}.nav-cta{padding:10px 17px;background:var(--green);color:white!important;border-radius:2px}.menu-toggle{display:none;border:0;background:none;font-size:24px}
.hero{min-height:690px;padding:90px 8vw 70px;display:grid;grid-template-columns:1.25fr .75fr;gap:60px;align-items:center;position:relative;overflow:hidden}
.hero:after{content:"";position:absolute;right:-180px;bottom:-240px;width:620px;height:620px;border:1px solid rgba(184,154,90,.25);border-radius:50%}
.eyebrow{font-size:11px;font-weight:700;letter-spacing:.2em;color:var(--gold);margin:0 0 18px}.hero h1{font-size:clamp(50px,7vw,92px);line-height:.98;letter-spacing:-.045em;margin:0 0 26px;color:var(--green)}h1 em{font-family:"Playfair Display",serif;font-weight:600;color:#48675d}
.hero-copy{max-width:650px;font-size:18px;color:var(--muted);margin-bottom:34px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;padding:14px 22px;border:1px solid var(--green);font:600 13px "DM Sans";cursor:pointer;border-radius:2px}.button-primary{background:var(--green);color:white}.button-primary:hover{background:var(--green2)}.button-ghost{background:transparent;color:var(--green)}
.hero-trust{margin-top:32px;color:#718079;font-size:12px;display:flex;gap:10px;flex-wrap:wrap}
.hero-card{background:rgba(13,64,53,.96);color:white;padding:48px 42px;min-height:310px;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:0 28px 70px rgba(13,64,53,.18);position:relative}.hero-card:before{content:"";position:absolute;inset:14px;border:1px solid rgba(184,154,90,.5);pointer-events:none}.card-kicker{font-size:12px;letter-spacing:.22em;color:#d6bd7f}.route{font:600 28px/1.2 "Playfair Display",serif;margin:25px 0}.hero-card p{color:#c9d7d2;font-size:13px;max-width:300px}.route-line{display:flex;align-items:center;gap:8px}.route-line i{height:5px;width:5px;border-radius:50%;background:var(--gold)}.route-line i:nth-child(2),.route-line i:nth-child(3){width:80px;height:1px;border-radius:0;background:#78958d}
.stats{background:var(--green);color:white;padding:30px 8vw;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.stats div{display:flex;gap:15px;align-items:center;border-right:1px solid rgba(255,255,255,.18)}.stats div:last-child{border:0}.stats strong{color:#d6bd7f;font-size:11px}.stats span{font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.section{padding:110px 8vw}.section-heading{max-width:690px;margin-bottom:55px}.section-heading h2,.about h2,.quote-copy h2{font:600 clamp(38px,5vw,62px)/1.03 "Playfair Display",serif;color:var(--green);margin:0 0 20px;letter-spacing:-.025em}.section-heading>p:last-child{color:var(--muted);max-width:600px}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service{padding:32px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:235px;background:rgba(255,255,255,.35)}.service span{font-size:11px;color:var(--gold);font-weight:700}.service h3{font-size:20px;margin:34px 0 10px;color:var(--green)}.service p{font-size:14px;color:var(--muted);margin:0}
.process-section{padding:100px 8vw;background:#edf1ed}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#cad6cf}.process-step{background:#edf1ed;padding:34px;min-height:250px}.process-step b{font-size:12px;color:var(--gold)}.process-step h3{font-size:19px;color:var(--green);margin:40px 0 10px}.process-step p{font-size:14px;color:var(--muted)}
.about{display:grid;grid-template-columns:1.3fr .7fr;gap:90px;align-items:stretch}.about-panel{max-width:750px}.about-panel p:not(.eyebrow){color:var(--muted);font-size:16px}.text-link{display:inline-block;margin-top:15px;color:var(--green);font-weight:700}.about-aside{border-left:1px solid var(--line);padding:25px 0 25px 55px;align-self:center}.seal{width:66px;height:66px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;font:700 30px "Playfair Display";color:var(--green);margin-bottom:30px}.about-aside h3{margin:0;color:var(--green);font-size:14px}.about-aside p{margin:4px 0 24px;color:var(--muted);font-size:13px}.about-aside hr{border:0;border-top:1px solid var(--line);margin:20px 0}
.quote-section{margin:0 8vw 110px;background:var(--green);color:white;padding:75px;display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.quote-copy h2{color:white}.quote-copy>p:not(.eyebrow){color:#c9d7d2}.contact-mini{margin-top:35px;color:#e1d19f;font-size:14px}.contact-mini span{margin-right:8px}.quote-form{display:flex;flex-direction:column;gap:17px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:15px}.quote-form label{font-size:12px;color:#d6e0dc}.quote-form input,.quote-form textarea{display:block;width:100%;margin-top:7px;padding:13px 14px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.07);color:white;font:14px "DM Sans";outline:none;border-radius:2px}.quote-form input::placeholder,.quote-form textarea::placeholder{color:#9fb2ab}.quote-form input:focus,.quote-form textarea:focus{border-color:#d6bd7f}.quote-form .button{align-self:flex-start;border-color:#d6bd7f;background:#d6bd7f;color:#173d34}.form-note{font-size:10px;color:#9fb2ab;margin:0}
.footer{background:#0a3029;color:#d6e0dc;padding:60px 8vw 30px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px;position:relative}.footer-brand strong{color:white}.footer p{color:#8fa59e;font-size:13px}.footer h4{color:#d6bd7f;font-size:11px;letter-spacing:.15em;text-transform:uppercase}.footer div>a:not(.brand),.footer div>span{display:block;color:#b9c9c4;font-size:13px;margin:7px 0}.copyright{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.1);padding-top:22px;color:#708b82;font-size:10px}
@media(max-width:900px){.nav{display:none}.menu-toggle{display:block}.site-header{padding:0 5vw}.hero{grid-template-columns:1fr;padding:70px 7vw}.hero-card{max-width:520px}.service-grid{grid-template-columns:1fr 1fr}.process-grid{grid-template-columns:1fr 1fr}.about,.quote-section{grid-template-columns:1fr}.quote-section{margin:0 5vw 70px;padding:45px 30px;gap:40px}.section{padding:80px 7vw}.stats{padding:25px 7vw}}
@media(max-width:600px){.brand strong{font-size:17px}.hero{min-height:auto}.hero h1{font-size:54px}.hero-copy{font-size:16px}.stats{grid-template-columns:1fr 1fr}.stats div{border-right:0}.service-grid,.process-grid,.two-col{grid-template-columns:1fr}.service{min-height:auto}.about-aside{border-left:0;border-top:1px solid var(--line);padding:35px 0}.footer{grid-template-columns:1fr;gap:25px;padding:50px 7vw 25px}.copyright{grid-column:auto}}
