@import url('https://fonts.googleapis.com/css2?family=Newsreader:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Public+Sans:wght@400;500;600;700&display=swap');
:root{
  --cream:#F8F4EB;--white:#FFFFFF;--ink-900:#26241F;--ink-600:#5A574C;--line-200:#E3DCC9;
  --green-900:#071E15;--green-800:#0B2F21;--gold-500:#B9862A;--gold-400:#D9A63E;
  --accent-investments:#00B274;--accent-impact:#CC5500;--accent-leadership:#1B2A4A;
  --bg-page:var(--cream);--bg-surface:var(--white);--text-primary:var(--ink-900);--text-secondary:var(--ink-600);
  --border-default:var(--line-200);
  --font-display:'Newsreader',Georgia,serif;--font-body:'Public Sans',system-ui,sans-serif;
  --text-hero:clamp(40px,6vw,68px);--text-h1:clamp(34px,5vw,52px);--text-h2:clamp(26px,3.4vw,36px);
  --content-max:1180px;--content-narrow:760px;
  --shadow-card:0 1px 2px rgba(11,47,33,0.06),0 8px 24px rgba(11,47,33,0.06);
}
*{box-sizing:border-box}
html{overflow-x:hidden;scroll-behavior:smooth}
body{margin:0;background:var(--bg-page);font-family:var(--font-body);color:var(--text-primary);overflow-x:hidden;overflow-anchor:none}
body.dark-bg{background:#071E15}
a{color:var(--green-800)}
a:hover{color:var(--gold-500)}
img{max-width:100%}
.wrap{max-width:var(--content-max);margin:0 auto;padding:0 24px}
h1,h2,h3,h4{font-family:var(--font-display);margin:0}

/* Header */
.site-header-outer{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;justify-content:center;padding:18px 24px;pointer-events:none}
.site-header{pointer-events:auto;width:100%;max-width:1040px;display:flex;align-items:center;justify-content:space-between;padding:8px 14px 8px 22px;border-radius:999px;background:transparent;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(185,134,42,0.45);transition:background .35s ease,box-shadow .35s ease}
.site-header.scrolled{background:var(--gold-400);box-shadow:0 8px 24px rgba(20,30,20,0.08)}
.logo-link{display:flex;align-items:center}
.logo-link img{height:52px;width:auto;transition:opacity .2s}
.site-nav{display:flex;gap:22px;align-items:center;flex-wrap:wrap}
.nav-link{position:relative;padding-bottom:6px;text-decoration:none;font-size:14px;font-weight:600;color:rgba(255,255,255,0.78)}
.site-header.scrolled .nav-link{color:rgba(248,244,235,0.82)}
.nav-link[data-active="1"]{color:#fff}
.site-header.scrolled .nav-link[data-active="1"]{color:#F8F4EB}
.nav-link::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:2px;background:var(--gold-500);opacity:0;box-shadow:0 0 8px rgba(185,134,42,.85);transition:opacity .25s ease}
.nav-link[data-active="1"]::after,.nav-link:hover::after{opacity:1}
.header-cta{text-decoration:none;font-size:14px;font-weight:600;padding:9px 18px;border-radius:999px;color:var(--green-800);background:var(--gold-500);transition:box-shadow .25s ease,filter .25s ease}
.site-header.scrolled .header-cta{color:#F8F4EB;background:#071E15}
.header-cta:hover{box-shadow:0 0 0 4px rgba(185,134,42,.22),0 0 20px rgba(185,134,42,.5);filter:brightness(1.05)}

/* Footer */
.site-footer{background:#071E15;color:#DCE3D9;font-family:var(--font-body)}
.site-footer img{display:block;width:100%;height:auto}
.footer-bottom{border-top:1px solid rgba(220,227,217,0.18);padding:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:13px;color:#9EAA9A;max-width:var(--content-max);margin:0 auto}

/* Buttons */
.btn-glow{display:inline-block;text-decoration:none;font-weight:600;font-family:var(--font-body);border-radius:999px;transition:box-shadow .25s ease,filter .25s ease}
.btn-glow:hover{box-shadow:0 0 0 4px rgba(185,134,42,.22),0 0 24px rgba(185,134,42,.45);filter:brightness(1.05)}
.btn-primary{font-size:15px;padding:13px 28px;background:var(--gold-500);color:var(--green-800);border:1px solid var(--gold-500)}
.btn-cta{font-size:23px;padding:21px 45px;background:var(--gold-500);color:var(--green-800);border:1px solid var(--gold-500)}
.btn-dark{font-size:14px;padding:12px 26px;background:var(--green-800);color:#F8F4EB}

/* Sections / hero */
.hero-dark{background:radial-gradient(120% 130% at 12% -10%,#17513a 0%,var(--green-800) 45%,#061a12 100%);color:#F3EFE2;padding:90px 24px 50px}
.cta-section{padding:70px 24px;background:#071E15;color:#F3EFE2}
.cta-row{max-width:var(--content-max);margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:60px}
.cta-kicker{color:var(--gold-500);font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px}

/* Components */
.kicker-label{display:block;color:var(--gold-500);font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.section-heading{font-family:var(--font-display);font-size:var(--text-h2);margin:0 0 28px}
.brand-card{border-radius:8px;box-shadow:0 1px 2px rgba(11,47,33,.05),0 10px 28px rgba(11,47,33,.07);transition:transform .2s ease,box-shadow .2s ease;background:var(--bg-surface);border:1px solid var(--border-default)}
.brand-card:hover{transform:translateY(-4px);box-shadow:0 4px 10px rgba(11,47,33,.08),0 22px 40px rgba(11,47,33,.14)}
.card{padding:24px}
.card h4{font-size:17px;margin:0 0 8px}
.card p{font-size:14.5px;color:var(--text-secondary);line-height:1.5;margin:0}
.checklist{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.checklist li{display:flex;gap:12px;font-size:15px;color:var(--text-primary);line-height:1.5}
.checklist li::before{content:'';flex:none;width:8px;height:8px;border-radius:50%;background:var(--gold-500);margin-top:7px}
.notice-box{border:1px solid var(--border-default);border-radius:6px;padding:20px 22px;background:var(--bg-surface)}
.notice-box .label{display:block;font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gold-500);margin-bottom:6px}
.notice-box p{margin:0;font-size:14px;color:var(--text-secondary);line-height:1.5}
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-size:13px;font-weight:600;color:var(--text-primary)}
.field input,.field textarea,.field select{font-family:var(--font-body);font-size:15px;padding:11px 14px;border:1px solid var(--border-default);border-radius:4px;background:var(--bg-surface);color:var(--text-primary)}
.field textarea{min-height:120px;resize:vertical}
.field .hint{font-size:12px;color:var(--text-secondary)}
.team-tile{padding:24px}

/* Belief tiles */
.belief-grid{margin-top:60px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.belief-tile{padding:36px 28px;text-align:center;display:flex;flex-direction:column;align-items:center;background:var(--gold-500);border-radius:10px;box-shadow:0 1px 2px rgba(11,47,33,.06),0 14px 32px rgba(11,47,33,.1);transition:transform .22s ease,box-shadow .22s ease;text-decoration:none}
.belief-tile:hover{transform:translateY(-5px);box-shadow:0 4px 10px rgba(11,47,33,.1),0 24px 44px rgba(11,47,33,.16)}
.belief-tile h3{font-size:28px;margin:0 0 12px;color:#071E15}
.belief-tile p{color:#F8F4EB;margin:0 auto;font-size:17.5px;line-height:1.5;max-width:280px}

/* Stat roll ticker */
.stat-roll-section{padding:0;position:relative;overflow:hidden;width:100vw;margin-left:calc(50% - 50vw);background:radial-gradient(120% 130% at 12% -10%,#17513a 0%,var(--green-800) 45%,#061a12 100%)}
.stat-roll-wrap{max-width:var(--content-max);margin:0 auto;border-radius:10px;overflow:hidden;background:rgba(8,36,25,.45)}
.stat-roll-mask{height:190px;overflow:hidden;position:relative;-webkit-mask-image:linear-gradient(to bottom,transparent,black 20%,black 80%,transparent);mask-image:linear-gradient(to bottom,transparent,black 20%,black 80%,transparent)}
.stat-roll-track{display:flex;flex-direction:column;animation:stat-roll-scroll 13s linear infinite}
.stat-roll-item{height:190px;flex:none;display:flex;align-items:center;justify-content:center;gap:28px;padding:0 32px}
.stat-roll-num{font-family:var(--font-display);font-size:64px;font-weight:700;color:var(--gold-500);line-height:1;min-width:190px;text-align:right}
.stat-roll-label{font-size:19px;color:#F3EFE2;max-width:440px;line-height:1.4}
@keyframes stat-roll-scroll{from{transform:translateY(0)}to{transform:translateY(-760px)}}

/* Four Ways We Build row */
.bwm-row{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:minmax(170px,1fr) minmax(0,460px) minmax(170px,1fr);gap:20px;align-items:center}
.bwm-side{display:grid;gap:14px}
.flip-card{cursor:pointer;min-height:220px;overflow:hidden;text-decoration:none;display:block}
.build-card{border-radius:10px;border:1px solid var(--green-800);background:linear-gradient(155deg,#0B2F21,#092619);padding:26px 16px;min-height:160px;width:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}
.build-card::before{content:'';position:absolute;inset:-40%;background:radial-gradient(circle,rgba(255,214,120,.18) 0%,rgba(185,134,42,.08) 40%,transparent 70%);pointer-events:none}
.flip-card:hover .build-card{animation:bwm-pulse 1.1s ease-in-out infinite}
@keyframes bwm-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}
.accent-bar{position:absolute;top:0;left:0;right:0;height:4px;background:var(--green-800)}
.bwm-wordmark{display:flex;flex-direction:column;gap:10px;align-items:center;text-align:center;width:100%;position:relative}
.bwm-logo{height:34px;width:auto;align-self:center;filter:brightness(0) saturate(100%) invert(1) sepia(1) saturate(6) hue-rotate(0deg) brightness(0.85)}
.bwm-tagline{font-family:var(--font-display);font-weight:600;font-size:22px;line-height:1.1;word-break:break-word;color:var(--gold-500)}
@media (max-width:1100px){.bwm-row{grid-template-columns:1fr!important}.bwm-row>.bwm-side{display:grid;grid-template-columns:1fr 1fr;gap:14px}}

/* Logo build animation (inline, replaces iframe) */
.lbm-stage{position:relative;width:100%;height:580px;display:flex;align-items:center;justify-content:center;background:#071E15}
.lbm-mark{position:relative;width:340px;height:397px}
.lbm-mark img{position:absolute;inset:0;width:100%;height:100%;display:block}
.lbm-piece{z-index:2;opacity:0;will-change:transform,opacity}
.lbm-tl{animation:lbm-enter-tl 1.1s cubic-bezier(.16,.84,.26,1) .1s forwards}
.lbm-tr{animation:lbm-enter-tr 1.1s cubic-bezier(.16,.84,.26,1) .25s forwards}
.lbm-bl{animation:lbm-enter-bl 1.1s cubic-bezier(.16,.84,.26,1) .4s forwards}
.lbm-br{animation:lbm-enter-br 1.1s cubic-bezier(.16,.84,.26,1) .55s forwards}
@keyframes lbm-enter-tl{0%{opacity:0;transform:translate(-220px,-220px) rotate(-18deg)}55%{opacity:1}100%{opacity:1;transform:translate(0,0) rotate(0)}}
@keyframes lbm-enter-tr{0%{opacity:0;transform:translate(220px,-220px) rotate(18deg)}55%{opacity:1}100%{opacity:1;transform:translate(0,0) rotate(0)}}
@keyframes lbm-enter-bl{0%{opacity:0;transform:translate(-220px,220px) rotate(18deg)}55%{opacity:1}100%{opacity:1;transform:translate(0,0) rotate(0)}}
@keyframes lbm-enter-br{0%{opacity:0;transform:translate(220px,220px) rotate(-18deg)}55%{opacity:1}100%{opacity:1;transform:translate(0,0) rotate(0)}}
.lbm-glow{position:absolute;inset:-36px;z-index:3;border-radius:50%;background:radial-gradient(circle,rgba(185,134,42,0.65) 0%,rgba(185,134,42,0) 68%);opacity:0;pointer-events:none;animation:lbm-glowpulse .7s ease-out 1.65s forwards}
@keyframes lbm-glowpulse{0%{opacity:0;transform:scale(.85)}45%{opacity:1;transform:scale(1.08)}100%{opacity:0;transform:scale(1.25)}}

/* logo drop */
.logo-drop-frame{position:relative;display:inline-block;margin-bottom:24px}
.logo-drop{display:block;animation:logo-drop-fall .85s cubic-bezier(.34,1.35,.4,1) both}
@keyframes logo-drop-fall{0%{transform:translateY(-140px);opacity:0}60%{opacity:1}100%{transform:translateY(0);opacity:1}}
.logo-drop-ground{position:absolute;left:2%;right:2%;bottom:-16px;height:4px;border-radius:2px;background:var(--gold-500);opacity:0;animation:logo-drop-thud .6s ease .72s both}
@keyframes logo-drop-thud{0%{opacity:1;transform:scaleX(.3);box-shadow:0 0 40px 14px rgba(185,134,42,.95),0 0 90px 24px rgba(185,134,42,.5)}55%{opacity:.9;box-shadow:0 0 30px 10px rgba(185,134,42,.8)}100%{opacity:.4;transform:scaleX(1);box-shadow:0 0 8px 2px rgba(185,134,42,.35)}}

/* Tagline cascade (About) */
.bwm-cascade{font-family:var(--font-display);color:var(--green-800);font-size:clamp(30px,4vw,44px);font-weight:700;line-height:1.4;margin:0;text-align:center}
.bwm-cascade-phrase{display:inline-block;opacity:0;filter:blur(9px);transform:scale(1.08);margin-right:.5em}
.bwm-cascade-phrase:last-child{margin-right:0}
.bwm-cascade-phrase.bwm-cascade-in{animation:bwm-cascade-in 1.4s cubic-bezier(.16,.84,.26,1) forwards}
@keyframes bwm-cascade-in{to{opacity:1;filter:blur(0);transform:scale(1)}}

/* Ribbon canvas */
.ribbon-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}

/* Photo tilt (businesses) */
.photo-tilt{transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.photo-tilt:hover{transform:rotate(0deg) translateY(-6px) scale(1.04)!important;z-index:5}

/* Scroll reveal */
.sr{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.sr-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.sr{opacity:1;transform:none;transition:none}}

/* Team bio */
.bio-toggle{background:none;border:none;padding:0;color:var(--green-800);font-weight:600;font-size:13.5px;cursor:pointer;text-decoration:underline}
.bio-text{margin:0 0 8px;font-size:14.5px;color:var(--text-secondary);line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.bio-text.expanded{display:block;-webkit-line-clamp:unset;overflow:visible}

/* Grids reused across pages */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.grid-auto{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}
@media (max-width:860px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}

section{padding:80px 24px}
@media (max-width:760px){.belief-grid{grid-template-columns:1fr!important}.bwm-row>.bwm-side{grid-template-columns:1fr!important}main [style*="grid-template-columns"]{grid-template-columns:1fr!important}}
.nav-toggle{display:none}
@media (max-width:760px){.site-header-outer{padding:12px 16px}.site-header{flex-wrap:wrap;border-radius:26px;padding:8px 10px 8px 18px}.site-header .logo-link img{height:40px;width:auto}.nav-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;padding:0 10px;border:0;border-radius:999px;background:rgba(7,30,21,.35);cursor:pointer}.site-header.scrolled .nav-toggle{background:#071E15}.nav-toggle span{display:block;height:2px;border-radius:2px;background:#F8F4EB;transition:transform .2s ease,opacity .2s ease}.site-header.nav-open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}.site-header.nav-open .nav-toggle span:nth-child(2){opacity:0}.site-header.nav-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.site-nav{display:none;width:100%;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 8px 10px}.site-header.nav-open .site-nav{display:flex}.site-header.nav-open{background:var(--gold-400)}.site-nav .nav-link{font-size:17px;padding:8px 0;color:#F8F4EB}.site-nav .header-cta{margin-top:8px;color:#F8F4EB;background:#071E15}}
