/* ====== SCOPE EVERYTHING TO .wrf TO AVOID THEME CONFLICTS ====== */
.wrf {
–cream:#F8F5EF; –sage:#9CB39E; –taupe:#C9A68B; –charcoal:#4B4B4B; –rose:#E5C0A6;
–max:1200px; –pad:clamp(16px, 3vw, 28px);
background:var(–cream); color:var(–charcoal);
font-family: “Open Sans”, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
}
.wrf * { box-sizing:border-box; }
.wrf img { max-width:100%; height:auto; display:block; }
/* LAYOUT WRAPPER */
.wrf .wrap { width:min(var(–max), 92vw); margin-inline:auto; padding-inline:var(–pad); }
/* HEADER */
.wrf .bar { border-bottom:1px solid #0001; background:#ffffffE6; backdrop-filter:saturate(120%) blur(6px); }
.wrf .nav { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:12px 0; }
.wrf .brand { display:flex; align-items:center; gap:10px; text-decoration:none; color:inherit; }
.wrf .brand img { width:42px; aspect-ratio:1/1; }
.wrf .brand .name { font-family:”EB Garamond”, serif; font-weight:700; letter-spacing:.4px; font-size:22px; }
.wrf .links { display:flex; gap:18px; flex-wrap:wrap; }
.wrf .links a { text-decoration:none; color:var(–charcoal); font:600 14px/1.1 “Montserrat”, system-ui, sans-serif; }
.wrf .links a:hover { color:var(–sage); }
.wrf .btn { display:inline-block; padding:11px 16px; border-radius:999px; font:600 14px “Montserrat”,sans-serif; text-decoration:none; }
.wrf .btn.primary { background:var(–sage); color:#fff; }
.wrf .btn.outline { border:2px solid var(–sage); color:var(–sage); background:transparent; }
/* HERO */
.wrf .hero { padding-block: clamp(24px, 5vw, 48px); }
.wrf .hero-grid { display:grid; grid-template-columns: 1.05fr .95fr; gap: clamp(18px, 3vw, 28px); }
@media (max-width: 900px) { .wrf .hero-grid { grid-template-columns:1fr; } }
.wrf .h1 { font-family:”EB Garamond”, serif; font-weight:700; font-size: clamp(34px, 6vw, 56px); line-height:1.05; margin:0 0 8px; }
.wrf .tag { font: 400 18px/1.5 “Open Sans”, system-ui, -apple-system, Segoe UI, Roboto, sans-serif; margin:0 0 16px; color:#2a2f2e; }
.wrf .cta-row { display:flex; gap:12px; flex-wrap:wrap; margin:8px 0 18px; }
.wrf .trust { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:12px; }
@media (max-width: 900px) { .wrf .trust { grid-template-columns:1fr 1fr; } }
.wrf .chip { background:#0000000D; border:1px solid #0001; border-radius:999px; padding:9px 12px; text-align:center; font:600 13px “Montserrat”,sans-serif; }
.wrf .panel { background:#fff; border:1px solid #0001; border-radius:16px; padding:18px; box-shadow:0 10px 30px #00000012; }
.wrf .panel .logo { width:110px; margin:0 auto 10px; }
.wrf .tiles { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:12px; }
.wrf .tile { background:var(–cream); border:1px solid #0001; border-radius:12px; padding:12px; text-align:center; font:600 14px “Montserrat”,sans-serif; }
.wrf .tile small { display:block; font:400 12px/1.2 “Open Sans”,sans-serif; opacity:.8; }
/* SECTIONS */
.wrf .section { padding-block: clamp(28px, 6vw, 48px); }
.wrf h2 { font-family:”EB Garamond”,serif; font-size: clamp(28px, 4vw, 40px); margin:0 0 10px; }
.wrf .cards { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:16px; }
@media (max-width: 900px) { .wrf .cards { grid-template-columns:1fr; } }
.wrf .card { background:#fff; border:1px solid #0001; border-radius:16px; overflow:hidden; display:flex; flex-direction:column; }
.wrf .card img { height:220px; object-fit:cover; background:#ddd; }
.wrf .card h3 { margin:14px 16px 6px; font:600 18px “Montserrat”,sans-serif; }
.wrf .card p { margin:0 16px 14px; font:400 14px/1.5 “Open Sans”,sans-serif; color:#2b2f2e; }
.wrf .card .row { display:flex; gap:10px; padding:0 16px 16px; margin-top:auto; }
/* Band gradient with safe fallback */
.wrf .band { margin-top:20px; border-radius:16px; padding:22px; color:#203229; background: linear-gradient(90deg, #AFC2B0, #D8BBA7); }
@supports (background: color-mix(in oklab, white, black)) {
.wrf .band {
background: linear-gradient(90deg,
color-mix(in oklab, var(–sage), #fff 30%),
color-mix(in oklab, var(–taupe), #fff 30%));
}
}
.wrf .band h3 { margin:0 0 8px; font-family:”EB Garamond”,serif; }
.wrf .twocol { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
@media (max-width: 900px) { .wrf .twocol { grid-template-columns:1fr; } }
.wrf .quote { background:#fff; border:1px solid #0001; border-radius:14px; padding:16px; font-style:italic; }
.wrf .box { background:#fff; border:1px solid #0001; border-radius:14px; padding:16px; }
.wrf .signup { background:#fff; border:1px solid #0001; border-radius:16px; padding:18px; display:grid; gap:12px; }
.wrf .signup form { display:flex; gap:10px; flex-wrap:wrap; }
.wrf .signup input { flex:1; min-width:220px; padding:12px 14px; border-radius:999px; border:1px solid #0002; font-size:16px; }
.wrf .signup button { padding:12px 18px; border-radius:999px; border:none; font:600 14px “Montserrat”,sans-serif; background:var(–sage); color:#fff; cursor:pointer; }
/* FOOTER */
.wrf .foot { border-top:1px solid #0001; padding:18px 0; font:400 14px “Open Sans”,sans-serif; }
.wrf .foot .flex { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.wrf .foot a { color:inherit; text-decoration:none; }
–>
Clean ingredients. Cleaner living.
Handmade soap, deodorant, and lip balm with fresh Alpine goat milk from our family farm.
Shop the Essentials
Affordable, small-batch care aligned with low-tox living.
Goat Milk Soap
Creamy lather, gentle cleanse. Great for babies and sensitive skin.
Natural Deodorant
Aluminum-free, baking-soda sensitive options. Fresh, clean confidence.
Lip Balm
Hydrating botanical oils and beeswax. Soft lips, simple ingredients.
Our Ingredient Promise
We use limited, recognizable ingredients sourced responsibly—always free from parabens, phthalates, synthetic dyes, and harsh sulfates.
From Our Farm to Your Home
East Texas • Small-batch • Family-run
We raise our Alpine goats with care, craft every batch by hand, and package with the least waste we can—so you can feel good about what touches your skin.
Stay in the White River
Early access to drops, seasonal scents, and farm updates.
Join the list
// Set current year safely within this component’s scope
(function(){
var root = document.currentScript && document.currentScript.previousElementSibling;
if (!root || !root.matches(‘.wrf’)) root = document.querySelector(‘.wrf’);
if (!root) return;
var yearEl = root.querySelector(‘.year’);
if (yearEl) yearEl.textContent = new Date().getFullYear();
})();
