:root { --forest:#315f35; --forest-deep:#244b2a; --cream:#fbf8ef; --paper:#fffef9; --pink:#dc6f8d; --ink:#233029; --muted:#627068; --line:#dce4d8; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; }
a { color:inherit; text-decoration:none; }
img { display:block; }
.page-shell { width:min(1160px,calc(100% - 40px)); margin-inline:auto; }

.site-header { height:84px; padding:0 max(24px,calc((100vw - 1220px)/2)); display:grid; grid-template-columns:100px 1fr auto; align-items:center; gap:28px; background:rgba(255,254,249,.93); border-bottom:0; position:sticky; top:0; z-index:30; backdrop-filter:blur(14px); }
.site-header::after { content:''; position:absolute; left:0; right:0; bottom:-22px; height:22px; pointer-events:none; background:linear-gradient(180deg,rgba(255,254,249,.58),rgba(255,254,249,.18),transparent); filter:blur(5px); }
.brand { align-self:start; position:relative; z-index:2; }
.brand img { width:92px; height:92px; object-fit:contain; border-radius:50%; background:white; box-shadow:0 8px 24px rgba(36,75,42,.12); }
nav { display:flex; align-items:center; justify-content:center; gap:clamp(18px,2.6vw,38px); }
nav a { font-size:12px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:#36463b; transition:color .2s; }
nav a:hover { color:var(--pink); }

.button { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:48px; padding:0 22px; border-radius:12px; font-size:13px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; transition:transform .2s,box-shadow .2s,background .2s; }
.button:hover { transform:translateY(-2px); }
.button-small { min-height:42px; padding-inline:18px; }
.button-green { background:var(--forest); color:white; box-shadow:0 10px 24px rgba(49,95,53,.22); }
.button-green:hover { background:var(--forest-deep); }
.button-pink { background:var(--pink); color:white; box-shadow:0 10px 24px rgba(220,111,141,.24); }
.button-pink:hover { background:#c75d7b; }
.button-outline { border:1.5px solid var(--forest); color:var(--forest); background:transparent; }

.hero { min-height:690px; position:relative; overflow:hidden; }
.hero-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center center; filter:none; }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(25,43,28,.23),transparent 55%); }
.hero-content { min-height:690px; display:flex; align-items:center; position:relative; z-index:2; padding-block:72px; }
.hero-card { width:min(490px,100%); padding:45px; border-radius:28px; background:rgba(255,254,249,.94); box-shadow:0 26px 70px rgba(31,56,36,.23); border:1px solid rgba(255,255,255,.8); }
.eyebrow { margin:0 0 14px; display:flex; align-items:center; gap:8px; color:var(--pink); font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.eyebrow.centered { justify-content:center; }
.eyebrow.light { color:#f6c2d0; }
h1,h2,h3 { font-family:Georgia,'Times New Roman',serif; color:var(--forest-deep); margin-top:0; }
h1 { margin-bottom:18px; font-size:clamp(52px,6vw,76px); line-height:.98; letter-spacing:-.045em; }
h2 { margin-bottom:18px; font-size:clamp(36px,4.4vw,56px); line-height:1.05; letter-spacing:-.035em; }
h3 { font-size:28px; line-height:1.12; }
.hero-copy { margin:0; font-size:17px; line-height:1.7; color:#4c5b51; }
.script-line { color:var(--pink); font-family:Georgia,serif; font-style:italic; font-size:21px; margin:18px 0 24px; }
.hero-actions { display:flex; align-items:center; gap:22px; flex-wrap:wrap; }
.text-link { color:var(--forest); font-size:13px; font-weight:800; text-transform:uppercase; border-bottom:1px solid var(--forest); padding-bottom:4px; }
.intro { text-align:center; padding-block:100px 76px; }
.intro h2 span { color:var(--pink); font-size:.58em; vertical-align:middle; }
.service-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:48px; text-align:left; }
.service-card { border:1px solid var(--line); border-radius:22px; overflow:hidden; background:white; box-shadow:0 14px 34px rgba(36,75,42,.1); transition:transform .25s,box-shadow .25s; }
.service-card:hover { transform:translateY(-5px); box-shadow:0 20px 42px rgba(36,75,42,.15); }
.service-media { height:220px; position:relative; overflow:hidden; background:#eef4e8; }
.service-media img { width:100%; height:100%; object-fit:cover; object-position:center; transition:transform .45s; }
.service-card:hover .service-media img { transform:scale(1.035); }
.service-icon { width:50px; height:50px; border-radius:50%; color:white; display:grid; place-items:center; position:absolute; right:18px; bottom:18px; box-shadow:0 8px 18px rgba(34,55,39,.18); }
.service-icon.pink { background:var(--pink); }
.service-icon.green { background:var(--forest); }
.service-icon.blue { background:#5b9eaa; }
.service-body { padding:26px; }
.service-body h3 { margin:0 0 12px; font-size:29px; }
.service-body p { min-height:72px; margin:0 0 22px; color:var(--muted); font-size:14px; line-height:1.7; }
.service-button { min-height:40px; padding:0 18px; border-radius:10px; display:inline-flex; align-items:center; justify-content:center; color:white; font-size:11px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.pink-button { background:var(--pink); }
.green-button { background:var(--forest); }
.blue-button { background:#5b9eaa; }

.feature { display:grid; grid-template-columns:1.04fr .96fr; align-items:center; gap:clamp(46px,7vw,94px); padding-block:92px; }
.feature-reverse { grid-template-columns:.96fr 1.04fr; }
.feature-reverse .feature-image { order:2; }
.feature-image { height:540px; border-radius:28px; position:relative; overflow:hidden; box-shadow:0 22px 50px rgba(36,75,42,.16); }
.feature-image img { width:100%; height:100%; object-fit:cover; object-position:center; }
.feature-transport img { object-position:center; }
.feature-grazing img { object-position:center; }
.image-badge { position:absolute; z-index:2; left:22px; bottom:22px; background:rgba(255,254,249,.92); color:var(--forest); display:flex; align-items:center; gap:8px; padding:13px 16px; border-radius:12px; font-size:12px; font-weight:800; text-transform:uppercase; }
.round-stamp { width:130px; height:130px; border-radius:50%; background:var(--cream); border:2px solid var(--forest); position:absolute; z-index:2; right:22px; bottom:22px; display:grid; place-content:center; text-align:center; color:var(--forest); font-size:13px; font-weight:900; text-transform:uppercase; transform:rotate(-5deg); }
.round-stamp span { color:var(--pink); }
.feature-copy { padding:34px; border:1px solid rgba(255,255,255,.68); border-radius:24px; background:rgba(255,255,255,.62); box-shadow:0 18px 44px rgba(36,75,42,.08); backdrop-filter:blur(13px); }
.feature-copy>p:not(.eyebrow) { color:var(--muted); font-size:17px; line-height:1.75; }
.feature-tagline { margin:24px 0 0; color:var(--pink)!important; font-family:Georgia,serif; font-style:italic; font-size:20px!important; }
.check-list { list-style:none; padding:0; margin:28px 0 32px; display:grid; gap:13px; }
.check-list li { display:flex; align-items:center; gap:12px; color:#405047; font-size:15px; }
.check-list li span { width:23px; height:23px; flex:0 0 23px; display:grid; place-items:center; border-radius:50%; background:#dfeedd; color:var(--forest); }
.grazing-wrap { background:var(--cream); }

.promise { background:var(--forest-deep); color:white; padding-block:78px; }
.promise-grid { display:grid; grid-template-columns:.82fr 1.18fr; gap:76px; align-items:center; }
.promise h2 { color:white; font-size:clamp(36px,4vw,52px); }
.promise-lead>p:last-child { color:#d7e3d6; line-height:1.7; }
.value-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.value-item { min-height:150px; border:1px solid rgba(255,255,255,.18); border-radius:18px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:16px; padding:18px 10px; color:#f8f2dc; font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.value-item svg { width:34px; height:34px; color:#f3a8bb; }
.value-item b { font-size:34px; color:#f3a8bb; font-weight:400; }

.contact { display:grid; grid-template-columns:1.05fr .95fr; gap:74px; align-items:center; padding-block:100px; }
.contact-copy>p:not(.eyebrow) { color:var(--muted); font-size:17px; }
.contact-links { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin-top:34px; }
.contact-links>* { display:flex; align-items:center; gap:12px; padding:14px; border-radius:14px; background:var(--cream); min-width:0; font-size:13px; font-weight:700; }
.contact-links svg { color:var(--pink); flex:0 0 22px; }
.contact-links b { color:var(--pink); flex:0 0 22px; font-size:20px; text-align:center; }
.contact-links span { min-width:0; overflow-wrap:anywhere; }
.contact-links small { display:block; margin-bottom:4px; color:var(--muted); font-size:9px; text-transform:uppercase; letter-spacing:.13em; }
.contact-card { background:#eef4e8; border:1px solid #d7e4d2; border-radius:28px; padding:46px; box-shadow:0 20px 45px rgba(36,75,42,.1); }
.contact-card>svg { width:38px; height:38px; color:var(--forest); margin-bottom:22px; }
.contact-symbol { display:block; color:var(--forest); font-size:38px; line-height:1; margin-bottom:22px; }
.contact-card h3 { font-size:34px; margin-bottom:14px; }
.contact-card p { color:var(--muted); line-height:1.7; margin-bottom:26px; }

footer { border-top:1px solid var(--line); background:white; }
.footer-inner { min-height:116px; display:grid; grid-template-columns:auto 1fr auto; gap:22px; align-items:center; color:var(--muted); font-size:12px; }
.footer-inner img { border-radius:50%; }

@media (max-width:980px) {
  .site-header { grid-template-columns:82px 1fr auto; height:74px; padding-inline:18px; }
  .brand img { width:78px; height:78px; }
  nav { justify-content:flex-start; overflow-x:auto; scrollbar-width:none; }
  nav a:nth-child(4) { display:none; }
  .site-header>.button { display:none; }
  .hero,.hero-content { min-height:650px; }
  .promise-grid { grid-template-columns:1fr; gap:38px; }
}
@media (max-width:800px) {
  .page-shell { width:min(100% - 28px,620px); }
  .hero-image { object-position:62% center; }
  .hero-shade { background:linear-gradient(0deg,rgba(20,42,25,.22),transparent 60%); }
  .hero-content { align-items:flex-end; padding-block:36px; }
  .hero-card { padding:30px 24px; }
  h1 { font-size:48px; }
  .feature,.feature-reverse,.contact { grid-template-columns:1fr; }
  .service-cards { grid-template-columns:repeat(2,1fr); }
  .feature,.contact { gap:42px; padding-block:72px; }
  .feature-reverse .feature-image { order:0; }
  .feature-image { height:410px; }
  .value-grid { grid-template-columns:repeat(2,1fr); }
  .contact-links { grid-template-columns:1fr; }
  .footer-inner { grid-template-columns:auto 1fr; padding-block:20px; }
  .footer-inner p:last-child { grid-column:1/-1; margin:0; }
}
@media (max-width:560px) {
  .site-header { grid-template-columns:68px 1fr; gap:10px; }
  .brand img { width:68px; height:68px; }
  nav { gap:18px; }
  nav a { font-size:10px; white-space:nowrap; }
  nav a:nth-child(3),nav a:nth-child(4) { display:none; }
  .hero,.hero-content { min-height:690px; }
  .hero-card { border-radius:22px; }
  .hero-actions { align-items:flex-start; flex-direction:column; }
  .trust-row { gap:10px; flex-wrap:wrap; }
  .intro { padding-block:76px 50px; }
  .service-cards { grid-template-columns:1fr; }
  .service-body p { min-height:0; }
  .feature-image { height:330px; }
  .contact-card { padding:32px 24px; }
  .footer-inner { grid-template-columns:1fr; text-align:center; justify-items:center; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition-duration:.01ms!important; } }

@media (max-width: 560px) {
  .round-stamp {
    top: 20px;
    right: 18px;
    bottom: auto;
  }
}
