:root {
  --forest: #1f4d2e;
  --forest-deep: #12301c;
  --growth: #7e9f4b;
  --sage: #dce7d1;
  --sage-soft: #edf3e8;
  --cream: #faf8f2;
  --warm: #f5efe4;
  --stone: #697064;
  --line: #e7ddd0;
  --shadow: 0 18px 44px rgba(31, 77, 46, 0.10);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--forest); background: var(--cream); font-family: "Lato", "Segoe UI", Arial, sans-serif; }
.skip-link { position: absolute; left: -999px; top: 8px; padding: 10px 14px; color: #fff; background: var(--forest); border-radius: 8px; z-index: 999; }
.skip-link:focus { left: 8px; }
.site-header { min-height: 112px; padding: 16px 5.2%; display: flex; align-items: center; gap: 28px; background: rgba(255,255,255,.96); box-shadow: 0 2px 18px rgba(31,77,46,.08); position: sticky; top: 0; z-index: 20; backdrop-filter: blur(8px); }
.brand img { width: 292px; max-width: 34vw; display: block; }
.nav { margin-left: auto; display: flex; gap: 28px; align-items: center; font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: .035em; }
.nav a { color: #142918; text-decoration: none; transition: color 160ms ease; }
.nav a:hover, .nav a:focus { color: var(--growth); }
.header-button, .button { display: inline-flex; align-items: center; justify-content: center; border-radius: 12px; padding: 14px 24px; min-height: 44px; color: #fff; background: linear-gradient(135deg, var(--growth), #607f3f); text-decoration: none; font-size: 13px; font-weight: 900; text-transform: uppercase; letter-spacing: .04em; box-shadow: 0 10px 20px rgba(31,77,46,.16); transition: transform 180ms ease, box-shadow 180ms ease, filter 180ms ease; }
.header-button:hover, .button:hover, .header-button:focus, .button:focus { transform: translateY(-2px); box-shadow: 0 16px 28px rgba(31,77,46,.22); filter: saturate(1.05); }
.hero { position: relative; display: grid; grid-template-columns: 1.02fr 1fr; min-height: 510px; overflow: hidden; background: radial-gradient(circle at 10% 22%, rgba(220,231,209,.85), transparent 25%), linear-gradient(90deg,#fff9ee 0%,#fff9ee 50%,#f3eadf 50%,#f3eadf 100%); }
.hero-copy { padding: 72px 7% 98px 8%; position: relative; z-index: 3; animation: fadeUp 650ms ease both; }
.coming-soon { margin: 0 0 12px; color: var(--growth) !important; font-size: 12px !important; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
h1,h2,h3 { font-family: "Playfair Display", Georgia, "Times New Roman", serif; }
h1 { margin: 0; color: var(--forest); font-size: clamp(42px,5vw,68px); line-height: .98; letter-spacing: -.035em; }
.hero p { max-width: 450px; margin: 28px 0 30px; color: #1f2d22; font-size: 20px; line-height: 1.55; }
.hero-visual { min-height: 510px; animation: softReveal 900ms ease both; }
.hero::after { content: ""; position: absolute; left: -6%; right: -6%; bottom: -52px; height: 132px; background: linear-gradient(90deg,#c7d7b8,#b7c8a7); border-radius: 50% 50% 0 0; transform: rotate(-1.5deg); z-index: 2; }
.leaf-accent { position: absolute; left: 4.7%; bottom: 84px; width: 96px; height: 176px; opacity: .5; z-index: 4; }
.leaf-accent::before { content:""; position:absolute; left:38px; top:8px; width:3px; height:150px; background:var(--growth); transform:rotate(5deg); border-radius:999px; }
.leaf-accent span { position:absolute; width:20px; height:46px; background:var(--growth); border-radius:100% 0 100% 0; }
.leaf-accent span:nth-child(1){left:11px;top:12px;transform:rotate(25deg)} .leaf-accent span:nth-child(2){left:46px;top:38px;transform:rotate(-25deg)} .leaf-accent span:nth-child(3){left:9px;top:74px;transform:rotate(28deg)} .leaf-accent span:nth-child(4){left:48px;top:104px;transform:rotate(-27deg)} .leaf-accent span:nth-child(5){left:17px;top:132px;transform:rotate(22deg)}
.value-strip { display: grid; grid-template-columns: repeat(4,1fr); gap: 0; padding: 42px 6.5% 38px; background: #fff; position: relative; z-index: 5; }
.value-strip article { text-align: center; padding: 0 36px; border-right: 1px solid var(--line); }
.value-strip article:last-child { border-right: none; }
.value-strip img { width: 76px; height: 76px; margin-bottom: 16px; }
.value-strip h2 { margin: 0 0 8px; font-size: 22px; }
.value-strip p { margin: 0; color: #2e392f; line-height: 1.45; }
.services-section { padding: 42px 5.5% 74px; background: #fffdf8; border-top: 1px solid var(--line); }
.section-heading { text-align: center; margin-bottom: 28px; }
.section-heading h2 { margin: 0; font-size: 38px; }
.section-heading p { margin: 8px 0 0; color: var(--stone); }
.service-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 22px; }
.service-card { min-height: 282px; padding: 30px 28px; border: 1px solid #d9e4d2; border-radius: 18px; background: #fff; box-shadow: 0 18px 38px rgba(31,77,46,.06); transition: transform 200ms ease, box-shadow 200ms ease, border-color 200ms ease; }
.service-card:hover { transform: translateY(-5px); box-shadow: var(--shadow); border-color: rgba(126,159,75,.55); }
.service-card img { display: block; width: 86px; height: 86px; margin: 0 auto 15px; }
.service-card h3 { margin: 4px 0 18px; font-size: 23px; text-align: center; }
.service-card ul { margin: 0; padding: 0; list-style: none; }
.service-card li { margin: 12px 0; padding-left: 27px; position: relative; color: #263027; line-height: 1.35; }
.service-card li::before { content:"✓"; position:absolute; left:0; top:-1px; color:var(--growth); font-weight:900; }
.approach { display:flex; justify-content:space-between; align-items:center; gap:44px; padding:36px 7%; color:#fff; background:linear-gradient(90deg,#153b22,#1f4d2e); }
.approach .kicker { margin:0 0 4px; color:#c9ddb8; font-size:12px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.approach h2 { margin:0 0 8px; font-size:31px; }
.approach p { max-width:850px; margin:0; line-height:1.55; }
.button.secondary { background: var(--growth); white-space: nowrap; }
.resources { padding:58px 7%; text-align:center; background:var(--sage-soft); }
.resources h2 { margin:0 0 12px; font-size:34px; }
.resources p { max-width:760px; margin:0 auto; color:#334136; line-height:1.6; }
.footer { padding:30px 7%; display:flex; justify-content:space-between; gap:26px; color:#ecf3e8; background:#102618; }
.footer p { margin:5px 0; }
@keyframes fadeUp { from{opacity:0;transform:translateY(18px)} to{opacity:1;transform:translateY(0)} }
@keyframes softReveal { from{opacity:0;transform:scale(1.015)} to{opacity:1;transform:scale(1)} }
@media (max-width:1120px){ .nav{display:none}.brand img{max-width:62vw}.hero{grid-template-columns:1fr}.hero-visual{min-height:360px}.value-strip,.service-grid{grid-template-columns:repeat(2,1fr)}.value-strip article:nth-child(2){border-right:none}.value-strip article:nth-child(1),.value-strip article:nth-child(2){padding-bottom:28px}.value-strip article:nth-child(3),.value-strip article:nth-child(4){padding-top:28px;border-top:1px solid var(--line)}}
@media (max-width:720px){ .site-header{padding:14px 5%;min-height:86px}.brand img{width:235px;max-width:72vw}.header-button{display:none}.hero-copy{padding:46px 7% 70px}.hero p{font-size:17px}.hero-visual{min-height:290px}.leaf-accent{display:none}.value-strip,.service-grid{grid-template-columns:1fr}.value-strip article{border-right:none;border-bottom:1px solid var(--line);padding:28px 18px}.value-strip article:last-child{border-bottom:none}.approach,.footer{flex-direction:column;align-items:flex-start}.section-heading h2,.resources h2{font-size:31px}}
