
:root{
  --sage:#d7e0d7;
  --sage-deep:#6f8072;
  --forest:#2f4034;
  --cream:#f7f5ef;
  --sand:#eee7db;
  --text:#243128;
  --muted:#5a675f;
  --white:#ffffff;
  --shadow:0 14px 40px rgba(36,49,40,.10);
  --radius:18px;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color:var(--text);
  background:var(--cream);
  line-height:1.65;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
p{margin:0 0 1rem}
h1,h2,h3,h4{
  font-family:"Cormorant Garamond", Georgia, serif;
  line-height:1.08;
  margin:0 0 .75rem;
  color:#1c281f;
}
h1{font-size:clamp(2.9rem,5vw,5.4rem)}
h2{font-size:clamp(2rem,3.1vw,3.4rem)}
h3{font-size:clamp(1.35rem,2vw,2rem)}
small,.eyebrow{letter-spacing:.16em;text-transform:uppercase;font-size:.78rem;color:var(--sage-deep);font-weight:700}
.container{width:min(var(--max),calc(100% - 2rem));margin-inline:auto}
.site-header{
  position:sticky;top:0;z-index:20;
  background:rgba(247,245,239,.9);backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(47,64,52,.08);
}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 0}
.brand{display:flex;flex-direction:column}
.brand strong{font-family:"Cormorant Garamond", serif;font-size:1.75rem;line-height:.95}
.brand span{font-size:.78rem;letter-spacing:.11em;text-transform:uppercase;color:var(--sage-deep)}
.nav-toggle{display:none;background:none;border:none;font-size:1.7rem}
nav ul{display:flex;flex-wrap:wrap;gap:1rem;list-style:none;padding:0;margin:0;align-items:center}
nav a{font-size:.97rem;color:var(--muted)}
nav a:hover,nav a.active{color:var(--forest)}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  border-radius:999px;padding:.95rem 1.25rem;font-weight:700;
  border:1px solid rgba(47,64,52,.14);transition:.25s ease;background:var(--white)
}
.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow)}
.btn-primary{background:var(--forest);color:#fff;border-color:var(--forest)}
.btn-soft{background:var(--sage);border-color:rgba(47,64,52,.08)}
.btn-row{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.4rem}
.hero{
  position:relative;min-height:76svh;display:grid;align-items:end;
  background:
    linear-gradient(180deg,rgba(28,40,31,.12),rgba(28,40,31,.58)),
    url('../images/hero-home.jpg') center/cover no-repeat;
  color:#fff;
}
.hero-inner{padding:7rem 0 4rem}
.hero-card{
  width:min(760px,100%);
  background:rgba(20,29,22,.34);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:var(--shadow);
  backdrop-filter:blur(10px);
  border-radius:24px;padding:1.5rem 1.35rem
}
.hero h1,.hero p,.hero .eyebrow{color:#fff}
.lead{font-size:1.15rem;max-width:60ch}
section{padding:4.5rem 0}
.section-soft{background:var(--sage)}
.section-sand{background:var(--sand)}
.grid{display:grid;gap:1.25rem}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.card{
  background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);
  padding:1.25rem;border:1px solid rgba(47,64,52,.06)
}
.image-card{overflow:hidden;padding:0}
.image-card img{aspect-ratio:4/3;object-fit:cover}
.kpi{font-size:2.2rem;font-weight:700;color:var(--forest)}
.feature-list,.clean-list{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:.7rem}
.feature-list li,.clean-list li{padding-left:1.1rem;position:relative}
.feature-list li::before,.clean-list li::before{content:"•";position:absolute;left:0;color:var(--sage-deep)}
.cta-band{
  background:linear-gradient(135deg,#2f4034,#566b5b);
  color:#fff;border-radius:28px;padding:1.7rem;box-shadow:var(--shadow)
}
.cta-band h2,.cta-band p{color:#fff}
.split{
  display:grid;grid-template-columns:1.1fr .9fr;gap:1.5rem;align-items:center
}
.split-reverse{grid-template-columns:.9fr 1.1fr}
form{display:grid;gap:.9rem}
label{font-weight:600;font-size:.95rem}
input,select,textarea{
  width:100%;padding:.9rem 1rem;border-radius:14px;border:1px solid rgba(47,64,52,.14);
  font:inherit;background:#fff;color:var(--text)
}
textarea{min-height:140px;resize:vertical}
.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}
.checkbox{display:flex;gap:.6rem;align-items:flex-start;background:#fff;padding:.8rem 1rem;border-radius:14px;border:1px solid rgba(47,64,52,.09)}
.checkbox input{width:auto;margin-top:.3rem}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse;background:#fff;border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}
th,td{padding:1rem;border-bottom:1px solid rgba(47,64,52,.08);text-align:left}
th{background:#eef2ea;font-size:.9rem;letter-spacing:.06em;text-transform:uppercase;color:var(--sage-deep)}
blockquote{
  margin:1.2rem 0;padding:1rem 1.2rem;border-left:4px solid var(--sage-deep);
  background:rgba(215,224,215,.35);border-radius:12px
}
.page-hero{
  padding:4.5rem 0 2rem;
  background:linear-gradient(180deg,rgba(215,224,215,.95),rgba(247,245,239,1));
}
.page-hero p{max-width:70ch}
.masonry{
  columns:2 280px;column-gap:1rem
}
.masonry > *{break-inside:avoid;margin:0 0 1rem}
.footer{background:#1f2a22;color:#eaf0ea;padding:2.5rem 0}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:1rem}
.footer a{color:#eaf0ea99}
.notice{font-size:.95rem;color:var(--muted)}
.badge{display:inline-block;padding:.35rem .65rem;border-radius:999px;background:#eef2ea;color:var(--forest);font-size:.84rem;font-weight:700}
hr.sep{border:none;border-top:1px solid rgba(47,64,52,.08);margin:1.3rem 0}
@media (max-width:900px){
  .grid-2,.grid-3,.split,.split-reverse,.footer-grid{grid-template-columns:1fr}
  .hero{min-height:68svh}
}
@media (max-width:760px){
  .nav-toggle{display:block}
  nav{display:none;position:absolute;top:100%;left:0;right:0;background:rgba(247,245,239,.98);padding:1rem;border-bottom:1px solid rgba(47,64,52,.08)}
  nav.open{display:block}
  nav ul{flex-direction:column;align-items:flex-start}
  .hero-card{padding:1.2rem}
  section{padding:3.6rem 0}
  .check-grid{grid-template-columns:1fr}
}


.btn,.btn-soft,.btn-primary{letter-spacing:.01em}
.btn{color:var(--forest)}
.btn-soft{background:#eef2ea;color:#213025;border-color:rgba(47,64,52,.14)}
.cta-band .btn-soft{background:#f4efe4;color:#213025;border-color:rgba(255,255,255,.16)}
.cta-band .btn-soft:hover{background:#fff}
.image-card img{width:100%;height:100%;min-height:280px;object-fit:cover;object-position:center}
.masonry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.founder-meta{display:flex;flex-wrap:wrap;gap:.55rem;margin:1rem 0 1.25rem}
.founder-meta .badge{background:#eef2ea}
.founder-photo-placeholder{display:grid;place-items:center;min-height:440px;text-align:center;padding:2rem;background:linear-gradient(180deg,#eef2ea,#f7f5ef)}
.founder-photo-placeholder p{max-width:24ch;margin:0;color:var(--muted)}
.chapter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.chapter-card h3{font-size:1.5rem;margin-bottom:.35rem}
.chapter-card p{font-size:.98rem;color:var(--muted)}
.chapter-card .eyebrow{display:block;margin-bottom:.4rem}
.inline-note{font-size:.96rem;color:var(--muted)}
@media (max-width:900px){.masonry-grid,.chapter-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.chapter-grid{grid-template-columns:1fr}.founder-photo-placeholder{min-height:300px}}


/* v3 fixes */
.image-card{padding:0;overflow:hidden}
.image-card img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;min-height:0}
.masonry-grid .image-card img{aspect-ratio:4/3}
.cta-band .btn-soft{background:#efe2bf;color:#1f2a22 !important;border-color:#d9c58f}
.cta-band .btn-soft:hover{background:#f6ecd1;color:#1f2a22 !important}
.btn-soft{color:#1f2a22 !important}
.btn-primary{color:#fff !important}
.founder-photo-card{padding:0;overflow:hidden}
.founder-photo-card .founder-photo-placeholder{min-height:420px}
.vos-story-image img{aspect-ratio:4/3;object-fit:cover}


/* final polish fixes */
.image-card img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center center;background:#f3efe5}
.masonry-grid .image-card img{aspect-ratio:auto}
.btn{font-weight:800}
.btn-primary{background:#2f4034 !important;color:#ffffff !important;border-color:#2f4034 !important}
.btn-soft{background:#f3e6c8 !important;color:#1f2a22 !important;border-color:#d2bf8a !important}
.cta-band .btn-soft,.section-soft .btn-soft,.section-sand .btn-soft{background:#f3e6c8 !important;color:#1f2a22 !important;border-color:#d2bf8a !important}
.cta-band .btn,.cta-band .btn:visited,.btn-soft:visited,.btn-primary:visited{color:inherit}
.founder-photo-frame{min-height:420px;border-radius:18px;overflow:hidden;background:linear-gradient(180deg,#eef2ea,#f7f5ef);display:flex;align-items:center;justify-content:center;padding:1.25rem;border:1px solid rgba(47,64,52,.08)}
.founder-photo-frame img{width:100%;height:auto;display:block;border-radius:14px}
.founder-photo-note{font-size:.96rem;color:var(--muted);text-align:center;max-width:26ch}
@media (max-width:640px){.founder-photo-frame{min-height:260px}}


/* v4 fixes */
.btn{font-weight:700}
.btn, .btn:visited{color:#1b241d !important}
.btn-primary, .btn-primary:visited{color:#ffffff !important;background:#2f4034 !important;border-color:#2f4034 !important}
.btn-soft, .btn-soft:visited, .cta-band .btn-soft, .cta-band .btn-soft:visited{
  background:#ead7ac !important;
  color:#1b241d !important;
  border-color:#c6ab6e !important;
}
.cta-band .btn-soft:hover, .btn-soft:hover{background:#f2e4c1 !important;color:#1b241d !important}
.image-card img, .masonry-grid .image-card img{
  width:100% !important;
  height:auto !important;
  aspect-ratio:4 / 3 !important;
  object-fit:cover !important;
  object-position:center center !important;
  min-height:0 !important;
}
.masonry-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.founder-photo-real{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top;border-radius:18px;display:block}
.founder-photo-note{padding:1rem;color:var(--muted);font-size:.95rem}
@media (max-width:760px){.founder-photo-real{aspect-ratio:4/4}}


/* final v5 fixes */
.btn,.btn:link,.btn:visited,.btn:hover,.btn:focus{color:#1b241d !important}
.btn-primary,.btn-primary:link,.btn-primary:visited,.btn-primary:hover,.btn-primary:focus{color:#ffffff !important;background:#2f4034 !important;border-color:#2f4034 !important}
.btn-soft,.btn-soft:link,.btn-soft:visited,.btn-soft:hover,.btn-soft:focus,
.cta-band .btn-soft,.cta-band .btn-soft:link,.cta-band .btn-soft:visited,.cta-band .btn-soft:hover,.cta-band .btn-soft:focus,
.section-soft .btn-soft,.section-soft .btn-soft:link,.section-soft .btn-soft:visited,.section-soft .btn-soft:hover,.section-soft .btn-soft:focus,
.section-sand .btn-soft,.section-sand .btn-soft:link,.section-sand .btn-soft:visited,.section-sand .btn-soft:hover,.section-sand .btn-soft:focus{
  background:#e8d6aa !important;
  color:#1b241d !important;
  border-color:#c3aa6f !important;
}
.founder-photo-card{padding:0 !important;overflow:hidden}
.founder-photo-card img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.vos-story-image img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;display:block}


/* mobile nav fix */
.site-header nav{z-index:30}
.nav-toggle{cursor:pointer;color:var(--forest)}
@media (max-width:760px){
  .site-header{overflow:visible}
  .nav-wrap{position:relative}
  nav{box-shadow:0 12px 30px rgba(36,49,40,.12)}
  nav ul{width:100%}
  nav li{width:100%}
  nav a, nav .btn{display:block;width:100%}
}
