/* Enonchong Chambers — stylesheet v2
   Douala, Cameroon. Bilingual EN/FR.
   v2: depth pass — layered gradients, seal motif, shadows, motion. */

:root{
  --ink:#101A17;
  --ink-2:#1B2E28;
  --green:#14342B;
  --green-deep:#0C201A;
  --green-mid:#1E4A3D;
  --brass:#A97F41;
  --brass-lt:#C6A26A;
  --brass-pale:#E8DCC6;
  --madder:#8A3B36;
  --madder-soft:#B0655F;
  --ivory:#FBF9F5;
  --paper:#FFFFFF;
  --sand:#F3EFE7;
  --rule:#E2DCD1;
  --rule-soft:#EFEAE1;
  --muted:#5C6763;
  --muted-2:#7C8783;

  --grad-green:linear-gradient(168deg,#1C4A3B 0%,#14342B 46%,#0C201A 100%);
  --grad-green-flat:linear-gradient(160deg,#173E32 0%,#0E2620 100%);
  --shadow-sm:0 1px 2px rgba(16,26,23,.05),0 6px 18px rgba(16,26,23,.06);
  --shadow-md:0 2px 6px rgba(16,26,23,.07),0 22px 44px rgba(16,26,23,.13);
  --shadow-cta:0 10px 24px rgba(12,32,26,.22);

  --serif:"EB Garamond","Hoefler Text","Iowan Old Style",Garamond,"Times New Roman",serif;
  --sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;

  --wrap:1180px;
  --narrow:720px;
  --gut:clamp(20px,5vw,48px);

  color-scheme:light;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  font-size:17px;
  line-height:1.7;
  font-feature-settings:"kern" 1,"liga" 1;
  -webkit-font-smoothing:antialiased;
  border-top:3px solid var(--brass);
}

img{max-width:100%;height:auto;display:block}
a{color:inherit}

.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:var(--gut)}
.narrow{max-width:var(--narrow)}

.skip{
  position:absolute;left:-9999px;top:0;z-index:200;
  background:var(--green);color:#fff;padding:12px 20px;
  font:600 14px/1 var(--sans);
}
.skip:focus{left:0}

:focus-visible{outline:2px solid var(--brass);outline-offset:3px}

/* ---------- Typography ---------- */
h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:1.12;margin:0;letter-spacing:-.005em}
h1{font-size:clamp(2.25rem,1.35rem + 3vw,3.9rem)}
h2{font-size:clamp(1.65rem,1.2rem + 1.6vw,2.45rem)}
h3{font-size:clamp(1.2rem,1.06rem + .6vw,1.5rem)}
h4{font-size:1.06rem;font-family:var(--sans);font-weight:600;letter-spacing:.01em}
p{margin:0 0 1.1em}
.lede{font-family:var(--serif);font-size:clamp(1.2rem,1.05rem + .7vw,1.5rem);line-height:1.55;color:var(--ink-2)}

.eyebrow{
  font:600 11.5px/1 var(--sans);
  letter-spacing:.18em;text-transform:uppercase;color:var(--brass);
  margin:0 0 18px;display:flex;align-items:center;gap:14px;
}
.eyebrow::before{content:"";width:34px;height:1.5px;background:var(--brass);flex-shrink:0}
.eyebrow--light{color:var(--brass-lt)}
.eyebrow--light::before{background:var(--brass-lt)}
.eyebrow--bare::before{display:none}

.rule{height:1px;background:var(--rule);border:0;margin:0}
.rule-brass{width:52px;height:2px;background:var(--brass);border:0;margin:0 0 26px}

/* ---------- Prose ---------- */
.prose{font-size:17.5px;line-height:1.78;color:var(--ink-2)}
.prose h2{margin:2.5em 0 .65em;color:var(--ink);position:relative;padding-top:.65em}
.prose h2::before{content:"";position:absolute;top:0;left:0;width:42px;height:2px;background:var(--brass)}
.prose h3{margin:2em 0 .5em;color:var(--ink)}
.prose h2:first-child,.prose h3:first-child{margin-top:0}
.prose h2:first-child{padding-top:.5em}
.prose ul,.prose ol{margin:0 0 1.3em;padding-left:1.25em}
.prose li{margin-bottom:.5em}
.prose li::marker{color:var(--brass)}
.prose a{color:var(--green-mid);text-underline-offset:3px;text-decoration-thickness:1px}
.prose a:hover{color:var(--madder)}
.prose strong{color:var(--ink);font-weight:600}
.prose > .lede{border-left:2px solid var(--brass);padding-left:22px}

.callout{
  background:var(--sand);border:1px solid var(--rule);border-left:3px solid var(--brass);
  padding:24px 28px;margin:2em 0;font-size:16.5px;
  box-shadow:var(--shadow-sm);border-radius:0 2px 2px 0;
}
.callout p:last-child{margin-bottom:0}
.callout h4{margin:0 0 .5em}

.deftable{width:100%;border-collapse:collapse;margin:1.8em 0;font-size:15.5px;
  background:var(--paper);box-shadow:var(--shadow-sm)}
.deftable th,.deftable td{text-align:left;padding:12px 15px;border-bottom:1px solid var(--rule)}
.deftable th{font:600 11px/1.3 var(--sans);letter-spacing:.11em;text-transform:uppercase;
  color:var(--brass-pale);background:var(--green);border-bottom:2px solid var(--brass)}
.deftable td:first-child{font-weight:500;color:var(--ink)}
.deftable tr:nth-child(even) td{background:var(--ivory)}
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}

/* ---------- Utility bar ---------- */
.util{background:var(--green-deep);color:#CFDBD5;font-size:13px}
.util .wrap{display:flex;justify-content:space-between;align-items:center;gap:18px;min-height:40px;flex-wrap:wrap}
.util a{color:#CFDBD5;text-decoration:none}
.util a:hover{color:var(--brass-lt)}
.util-left{display:flex;gap:22px;align-items:center;flex-wrap:wrap}
.util-right{display:flex;gap:16px;align-items:center}
.lang{display:flex;gap:8px;align-items:center;font-weight:500}
.lang .on{color:var(--brass-lt);font-weight:600}
.lang .sep{opacity:.35}

/* ---------- Header ---------- */
.site-head{background:var(--paper);border-bottom:1px solid var(--rule);position:sticky;top:0;z-index:60;
  transition:box-shadow .25s ease}
body.scrolled .site-head{box-shadow:0 10px 34px rgba(16,26,23,.10)}
.head-in{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:86px}

.brand{display:flex;flex-direction:column;text-decoration:none;line-height:1;flex-shrink:0}
.brand-name{font-family:var(--serif);font-size:clamp(1.28rem,1.1rem + .7vw,1.6rem);font-weight:600;letter-spacing:.02em;color:var(--ink)}
.brand-sub{font:500 9.5px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--brass);margin-top:7px}

.nav{display:flex;align-items:center;gap:2px}
.nav a,.nav button{
  font:500 14px/1 var(--sans);letter-spacing:.01em;color:var(--ink-2);
  text-decoration:none;padding:12px 13px;background:none;border:0;cursor:pointer;
  font-family:var(--sans);
}
.nav>a:not(.cta),.has-menu>button{
  background-image:linear-gradient(var(--brass),var(--brass));
  background-repeat:no-repeat;background-position:13px calc(100% - 6px);background-size:0 1.5px;
  transition:background-size .25s ease,color .18s ease;
}
.nav>a:not(.cta):hover,.has-menu>button:hover{color:var(--brass);
  background-size:calc(100% - 26px) 1.5px}
.nav a[aria-current="page"]{color:var(--brass);font-weight:600}

.has-menu{position:relative}
.has-menu>button::after{content:"";display:inline-block;width:5px;height:5px;margin-left:7px;vertical-align:2px;
  border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg)}
.menu{
  position:absolute;top:100%;left:50%;transform:translateX(-50%);
  background:var(--paper);border:1px solid var(--rule);border-top:2px solid var(--brass);
  box-shadow:var(--shadow-md);
  padding:14px;min-width:520px;display:none;
  columns:2;column-gap:14px;
}
.has-menu:hover .menu,.has-menu:focus-within .menu{display:block}
.menu a{display:block;padding:8px 12px;font-size:14px;break-inside:avoid;border-radius:2px}
.menu a:hover{background:var(--sand);color:var(--green-mid)}

.cta{
  display:inline-block;background:var(--grad-green-flat);color:#fff!important;
  font:600 13px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;
  padding:15px 24px;text-decoration:none;border:1px solid rgba(198,162,106,.35);
  box-shadow:var(--shadow-cta),inset 0 1px 0 rgba(255,255,255,.07);
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.cta:hover{background:linear-gradient(160deg,#B98F4E,#96703A);border-color:transparent;
  transform:translateY(-2px);box-shadow:0 14px 30px rgba(12,32,26,.28)}
.cta--ghost{background:transparent;color:var(--brass-lt)!important;border-color:rgba(198,162,106,.5);box-shadow:none}
.cta--ghost:hover{background:linear-gradient(160deg,#B98F4E,#96703A);color:#fff!important}
.cta--sm{padding:11px 18px;font-size:12px;box-shadow:none}

.burger{display:none;background:none;border:1px solid var(--rule);padding:11px 13px;cursor:pointer}
.burger span{display:block;width:20px;height:1.5px;background:var(--ink);margin:4px 0}

/* ---------- Hero ---------- */
.hero{
  color:#EDEFEA;position:relative;overflow:hidden;
  background:
    url("/assets/seal-wm.svg") no-repeat calc(100% - clamp(-140px,-4vw,20px)) center / clamp(420px,44vw,640px),
    radial-gradient(1100px 520px at 76% -14%,rgba(169,127,65,.22),transparent 60%),
    var(--grad-green);
}
.hero::after{
  content:"";position:absolute;inset:16px;pointer-events:none;
  border:1px solid rgba(198,162,106,.16);
}
.hero .wrap{position:relative;z-index:1;padding-block:clamp(70px,10vw,128px)}
.hero h1{color:#F6F4EE;max-width:19ch;text-shadow:0 2px 24px rgba(0,0,0,.25)}
.hero .lede{color:#C9D4CE;max-width:56ch;margin-top:26px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:38px}
.hero-meta{
  display:flex;gap:clamp(24px,4vw,52px);flex-wrap:wrap;margin:56px 0 0;padding-top:32px;
  border-top:1px solid rgba(198,162,106,.28);position:relative;
}
.hero-meta::before{content:"";position:absolute;top:-1px;left:0;width:64px;height:2px;background:var(--brass-lt)}
.hero-meta div{max-width:240px}
.hero-meta dt{font:600 11px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--brass-lt);margin-bottom:9px}
.hero-meta dd{margin:0;font-size:14.5px;color:#B9C6C0;line-height:1.6}

/* page header (interior) */
.pagehead{
  color:#EDEFEA;position:relative;overflow:hidden;
  background:
    url("/assets/seal-wm.svg") no-repeat calc(100% - clamp(-120px,-2vw,30px)) center / clamp(340px,34vw,480px),
    radial-gradient(900px 420px at 80% -20%,rgba(169,127,65,.18),transparent 60%),
    var(--grad-green);
}
.pagehead::after{content:"";position:absolute;inset:12px;pointer-events:none;border:1px solid rgba(198,162,106,.13)}
.pagehead .wrap{position:relative;z-index:1;padding-block:clamp(56px,7vw,88px)}
.pagehead h1{color:#F6F4EE;max-width:22ch;text-shadow:0 2px 20px rgba(0,0,0,.22)}
.pagehead .lede{color:#C4D0CA;max-width:60ch;margin-top:20px}
.crumbs{font-size:12.5px;letter-spacing:.05em;color:#8FA39B;margin-bottom:20px}
.crumbs a{color:#8FA39B;text-decoration:none}
.crumbs a:hover{color:var(--brass-lt)}
.crumbs span{opacity:.5;padding:0 8px}

/* ---------- Sections ---------- */
.sec{padding-block:clamp(60px,7.5vw,108px)}
.sec--sand{background:linear-gradient(180deg,var(--ivory),var(--sand))}
.sec--green{
  color:#E8EDE9;position:relative;overflow:hidden;
  background:
    url("/assets/seal-wm.svg") no-repeat left calc(0% - 160px) center / 460px,
    var(--grad-green);
}
.sec--green h2{color:#F6F4EE}
.sec--green p{color:#BFCCC5}
.sec-head{max-width:660px;margin-bottom:clamp(36px,4vw,56px)}
.sec-head p{color:var(--muted);font-size:17px;margin-top:16px}
.sec--green .sec-head p{color:#AFBEB7}

/* ---------- Stats band ---------- */
.stats{
  color:#E8EDE9;position:relative;overflow:hidden;
  background:
    url("/assets/seal-wm.svg") no-repeat calc(100% + 130px) center / 400px,
    var(--grad-green);
  border-block:3px solid var(--brass);
}
.stats .wrap{padding-block:clamp(40px,5vw,60px)}
.stats dl{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin:0}
.stats div{position:relative;padding-left:22px}
.stats div::before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:1px;
  background:linear-gradient(180deg,rgba(198,162,106,.7),rgba(198,162,106,.1))}
.stats dd{margin:0;font-family:var(--serif);font-weight:600;
  font-size:clamp(2.3rem,1.7rem + 2vw,3.4rem);line-height:1;
  background:linear-gradient(160deg,#DDBE85,#A97F41);
  -webkit-background-clip:text;background-clip:text;color:transparent;}
.stats dt{font:600 11px/1.5 var(--sans);letter-spacing:.15em;text-transform:uppercase;color:#9FB3AA;margin-top:10px}

/* ---------- Grids / cards ---------- */
.grid{display:grid;gap:22px}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}

.card{
  background:var(--paper);padding:32px 30px 34px;text-decoration:none;color:inherit;
  display:flex;flex-direction:column;position:relative;
  border:1px solid var(--rule);box-shadow:var(--shadow-sm);
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.card::before{content:"";position:absolute;top:-1px;left:-1px;right:-1px;height:3px;
  background:linear-gradient(90deg,var(--brass-lt),var(--brass));
  transform:scaleX(0);transform-origin:left;transition:transform .28s ease}
a.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:#D6CDBC}
a.card:hover::before{transform:scaleX(1)}
.card-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:14px}
.card-num{
  font-family:var(--serif);font-weight:600;font-size:2.6rem;line-height:1;
  color:transparent;-webkit-text-stroke:1px rgba(169,127,65,.55);
}
.card-top .ico{width:30px;height:30px;color:var(--brass);opacity:.85;margin-top:4px;transition:color .2s ease,transform .22s ease}
a.card:hover .card-top .ico{color:var(--madder);transform:translateY(-2px)}
@supports not (-webkit-text-stroke:1px black){.card-num{color:rgba(169,127,65,.35)}}
.card h3{font-size:1.24rem;margin-bottom:12px}
.card p{font-size:15.3px;color:var(--muted);margin:0;line-height:1.65}
.card-more{
  margin-top:22px;font:600 12px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--green-mid);
  display:inline-flex;align-items:center;gap:8px;
}
.card-more::after{content:"\2192";transition:transform .2s ease}
a.card:hover .card-more{color:var(--madder)}
a.card:hover .card-more::after{transform:translateX(5px)}

/* practice list, compact */
.plist{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);
  border:1px solid var(--rule);box-shadow:var(--shadow-sm)}
.plist a{
  background:var(--paper);padding:22px 24px;text-decoration:none;color:var(--ink);
  font-size:16px;display:flex;align-items:baseline;gap:12px;position:relative;
  transition:background .18s ease,color .18s ease;
}
.plist a::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--brass);
  transform:scaleY(0);transition:transform .22s ease}
.plist a:hover{background:var(--ivory);color:var(--green-mid)}
.plist a:hover::before{transform:scaleY(1)}
.plist .n{font:600 11px/1 var(--sans);color:var(--brass);letter-spacing:.1em;flex-shrink:0}
.plist--four{grid-template-columns:repeat(2,1fr)}

/* ---------- People ---------- */
.people{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.person{background:var(--paper);text-decoration:none;color:inherit;display:block;
  border:1px solid var(--rule);box-shadow:var(--shadow-sm);
  transition:transform .22s ease,box-shadow .22s ease}
a.person:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.portrait{aspect-ratio:4/5;position:relative;overflow:hidden;border-bottom:2px solid var(--brass);
  background:
    radial-gradient(420px 300px at 50% 0%,rgba(169,127,65,.14),transparent 70%),
    linear-gradient(165deg,#F6F2E9,#E7E0D1)}
.portrait img{width:100%;height:100%;object-fit:cover}
.portrait-ph{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-family:var(--serif);font-size:2rem;color:var(--brass);letter-spacing:.08em;font-weight:500;
}
.portrait-ph::before{
  content:"";position:absolute;width:148px;height:148px;border-radius:50%;
  border:1.5px solid rgba(169,127,65,.75);
  box-shadow:0 0 0 6px rgba(169,127,65,.0),inset 0 0 0 5px var(--ivory),inset 0 0 0 6.5px rgba(169,127,65,.45);
}
.person-body{padding:22px 24px 26px}
.person-body h3{font-size:1.16rem;margin-bottom:6px}
.person-role{font:500 12.5px/1.5 var(--sans);letter-spacing:.09em;text-transform:uppercase;color:var(--brass);margin:0 0 10px}
.person-body p{font-size:14.6px;color:var(--muted);margin:0;line-height:1.6}

.profile{display:grid;grid-template-columns:340px 1fr;gap:clamp(32px,5vw,64px);align-items:start}
.profile-aside .portrait{aspect-ratio:4/5;border:1px solid var(--rule);border-bottom:2px solid var(--brass);box-shadow:var(--shadow-md)}
.factbox{border-top:1px solid var(--rule);margin-top:26px;padding-top:22px;position:relative}
.factbox::before{content:"";position:absolute;top:-1px;left:0;width:42px;height:2px;background:var(--brass)}
.factbox dt{font:600 10.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--brass);margin-bottom:7px}
.factbox dd{margin:0 0 18px;font-size:15px;color:var(--ink-2);line-height:1.6}
.factbox dd:last-child{margin-bottom:0}

/* ---------- Insights ---------- */
.posts{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.post{background:var(--paper);padding:34px 32px 36px;text-decoration:none;color:inherit;
  display:flex;flex-direction:column;position:relative;
  border:1px solid var(--rule);box-shadow:var(--shadow-sm);
  transition:transform .22s ease,box-shadow .22s ease}
.post::before{content:"";position:absolute;top:-1px;left:-1px;right:-1px;height:3px;
  background:linear-gradient(90deg,var(--brass-lt),var(--brass));
  transform:scaleX(0);transform-origin:left;transition:transform .28s ease}
a.post:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
a.post:hover::before{transform:scaleX(1)}
.post-tag{font:600 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--brass);margin-bottom:14px;
  display:flex;align-items:center;gap:10px}
.post-tag::before{content:"";width:22px;height:1.5px;background:var(--brass)}
.post h3{font-size:1.32rem;margin-bottom:12px;line-height:1.25}
.post p{font-size:15.3px;color:var(--muted);margin:0;line-height:1.65}

/* ---------- Founder strip ---------- */
.founder{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;position:relative}
.founder-img{min-height:420px;position:relative;overflow:hidden;
  background:
    radial-gradient(600px 420px at 50% 42%,rgba(169,127,65,.16),transparent 70%),
    linear-gradient(150deg,#143229,#0A1A15)}
.founder-img img{width:100%;height:100%;object-fit:cover;opacity:.92}
.founder-ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px}
.founder-ph .mono{
  font-family:var(--serif);font-size:2.6rem;letter-spacing:.1em;font-weight:500;
  background:linear-gradient(160deg,#DDBE85,#A97F41);-webkit-background-clip:text;background-clip:text;color:transparent;
  width:190px;height:190px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  border:1.5px solid rgba(198,162,106,.7);
  box-shadow:inset 0 0 0 7px #0E241D,inset 0 0 0 8.5px rgba(198,162,106,.5),0 0 60px rgba(169,127,65,.15);
}
.founder-ph .yrs{font:500 12px/1 var(--sans);letter-spacing:.28em;color:#8FA39B}
.founder-txt{
  color:#DCE4DF;padding:clamp(40px,5vw,72px);display:flex;flex-direction:column;justify-content:center;
  position:relative;overflow:hidden;
  background:
    url("/assets/seal-wm.svg") no-repeat calc(100% + 150px) calc(100% + 150px) / 380px,
    var(--grad-green);
}
.founder-txt h2{color:#F6F4EE;margin-bottom:20px}
.founder-txt p{color:#B7C5BE;font-size:16.4px}

/* ---------- Contact ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(30px,5vw,64px)}
.contact-block{margin-bottom:32px;padding-left:20px;border-left:2px solid var(--rule);position:relative}
.contact-block::before{content:"";position:absolute;left:-2px;top:2px;height:22px;width:2px;background:var(--brass)}
.contact-block h3{font-size:1.12rem;margin-bottom:10px}
.contact-block p{margin:0;color:var(--muted-2);font-size:16px}
.contact-block a{color:var(--green-mid);text-decoration:none}
.contact-block a:hover{color:var(--brass);text-decoration:underline}

.form{background:var(--paper);border:1px solid var(--rule);border-top:3px solid var(--brass);
  box-shadow:var(--shadow-md);padding:clamp(26px,3vw,40px)}
.form label{display:block;font:600 11.5px/1 var(--sans);letter-spacing:.11em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}
.form .field{margin-bottom:20px}
.form input,.form select,.form textarea{
  width:100%;font:400 16px/1.5 var(--sans);color:var(--ink);
  background:var(--ivory);border:1px solid var(--rule);padding:13px 15px;border-radius:0;
  transition:border-color .18s ease,background .18s ease;
}
.form textarea{min-height:150px;resize:vertical}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--brass);background:var(--paper);outline:none}
.form .hint{font-size:13px;color:var(--muted-2);margin-top:16px;line-height:1.6}
.form button{width:auto}

/* ---------- Footer ---------- */
.site-foot{
  color:#A9B8B1;font-size:14.5px;padding-block:clamp(52px,6vw,80px) 0;
  position:relative;overflow:hidden;border-top:3px solid var(--brass);
  background:
    url("/assets/seal-wm.svg") no-repeat calc(100% + 170px) calc(100% + 170px) / 480px,
    var(--grad-green);
}
.site-foot .wrap{position:relative;z-index:1}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:36px}
.site-foot h4{font:600 11px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--brass-lt);margin:0 0 18px;
  display:flex;align-items:center;gap:10px}
.site-foot h4::after{content:"";height:1px;flex:0 0 26px;background:rgba(198,162,106,.4)}
.site-foot a{color:#A9B8B1;text-decoration:none;transition:color .15s ease}
.site-foot a:hover{color:var(--brass-lt)}
.site-foot ul{list-style:none;margin:0;padding:0}
.site-foot li{margin-bottom:9px;font-size:14px}
.foot-brand .brand-name{color:#F0F2ED;font-size:1.4rem}
.foot-brand .brand-sub{color:var(--brass-lt)}
.foot-brand p{margin:18px 0 0;font-size:14px;line-height:1.7;max-width:34ch}
.foot-seal{width:104px;height:104px;margin-top:26px;opacity:.9}
.foot-bottom{
  margin-top:clamp(38px,5vw,58px);border-top:1px solid rgba(255,255,255,.09);
  padding-block:24px 30px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
  font-size:12.8px;color:#7C8C85;
}
.foot-note{max-width:62ch;line-height:1.7}

/* ---------- Reveal on scroll ---------- */
@media (prefers-reduced-motion:no-preference){
  body.anim .rv{opacity:0;transform:translateY(18px);
    transition:opacity .65s cubic-bezier(.2,.6,.25,1),transform .65s cubic-bezier(.2,.6,.25,1)}
  body.anim .rv.in{opacity:1;transform:none}
}

/* ---------- Responsive ---------- */
@media (max-width:1000px){
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .plist{grid-template-columns:repeat(2,1fr)}
  .plist--four{grid-template-columns:repeat(2,1fr)}
  .people{grid-template-columns:repeat(2,1fr)}
  .foot-grid{grid-template-columns:1fr 1fr;gap:32px}
  .stats dl{grid-template-columns:repeat(2,1fr);gap:26px}
}
@media (max-width:860px){
  .nav{
    display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);
    border-bottom:1px solid var(--rule);flex-direction:column;align-items:stretch;
    padding:10px var(--gut) 24px;box-shadow:0 22px 40px rgba(16,26,23,.10);gap:0;
  }
  .nav.open{display:flex}
  .nav a,.nav button{padding:14px 0;border-bottom:1px solid var(--rule-soft);text-align:left;width:100%;font-size:16px;background-image:none}
  .has-menu{position:static}
  .menu{position:static;transform:none;display:block;border:0;box-shadow:none;
    padding:0 0 10px 14px;min-width:0;columns:1;background:transparent}
  .menu a{padding:9px 0;border:0;font-size:14.6px;color:var(--muted)}
  .nav .cta{text-align:center;margin-top:16px;border-bottom:0}
  .burger{display:block}
  .site-head{position:relative}
  .head-in{position:relative;min-height:74px}
  .profile{grid-template-columns:1fr}
  .profile-aside{max-width:300px}
  .founder{grid-template-columns:1fr}
  .founder-img{min-height:300px}
  .contact-grid{grid-template-columns:1fr}
  .hero{background-position:calc(100% + 220px) center,76% -14%,0 0}
  .pagehead{background-position:calc(100% + 200px) center,80% -20%,0 0}
}
@media (max-width:640px){
  body{font-size:16.5px}
  .grid-3,.grid-2,.grid-4{grid-template-columns:1fr}
  .plist,.plist--four{grid-template-columns:1fr}
  .people{grid-template-columns:1fr}
  .posts{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr;gap:34px}
  .hero-meta{gap:26px}
  .util .wrap{justify-content:center;gap:14px;padding-block:9px}
  .util-left{display:none}
  .stats dl{grid-template-columns:1fr 1fr;gap:22px}
  .hero::after,.pagehead::after{inset:10px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{animation-duration:.01ms!important;transition-duration:.01ms!important}
}


/* ---------------------------------------------------------------- graphics */
.ico{width:22px;height:22px;flex-shrink:0}
.ico--lg{width:44px;height:44px}
.ph-ico{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;
  border:1px solid rgba(198,162,106,.45);color:var(--brass-lt);margin-bottom:22px;
  background:rgba(255,255,255,.03)}

.split{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:clamp(32px,6vw,80px);align-items:center}
.split-fig{justify-self:center;width:100%;max-width:400px}

.fig{margin:2em 0 2.4em}
.fig--map{max-width:440px}
.fig--africa{max-width:520px}
.fig svg{display:block;width:100%;height:auto}
.fig figcaption{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:14px;font:500 12.5px/1.4 var(--sans);
  letter-spacing:.02em;color:var(--muted)}
.lg{display:inline-flex;align-items:center;gap:8px}
.sw{width:14px;height:14px;display:inline-block;border:1px solid rgba(16,26,23,.12)}
.sw--cl{background:var(--brass-lt)}
.sw--cv{background:#D9E3DD}
.sw--m{background:var(--green-mid)}
.sw--home,.sw--pt{background:var(--madder);border-radius:50%}
.sw--seat{background:var(--brass);border-radius:50%}

.map .rg{fill:#D9E3DD;stroke:#FBF9F5;stroke-width:1.2;stroke-linejoin:round;transition:fill .2s ease}
.map .rg:hover{fill:#C8D6CE}
.map .rg--cl{fill:var(--brass-lt)}
.map .rg--cl:hover{fill:#B8925A}
.map .co{fill:#EDE7DB;stroke:#FBF9F5;stroke-width:1;stroke-linejoin:round}
.map .co--m{fill:var(--green-mid)}
.map .co--home{fill:var(--madder)}
.map .pt{fill:var(--brass)}
.map .pt--madder{fill:var(--madder)}
.map .pt--m{fill:var(--green-mid)}
.map .pt--seat{fill:var(--brass)}
.map .pt--hollow{fill:#FBF9F5;stroke:var(--green);stroke-width:1.5}
.map .pt-ring{fill:none;stroke:var(--madder);stroke-width:1;opacity:.55}
.map .lbl{font:500 12px var(--sans);fill:var(--ink-2);letter-spacing:.02em}
.map .lbl--strong{font-weight:600;fill:var(--madder);font-size:13px}
.map .lbl--rg{font:600 11px var(--sans);fill:var(--green);letter-spacing:.12em}
@media (prefers-reduced-motion:no-preference){
  .map .pt-ring{animation:ring 2.6s ease-out infinite;transform-origin:center;transform-box:fill-box}
  @keyframes ring{0%{transform:scale(.55);opacity:.7}100%{transform:scale(1.6);opacity:0}}
}

.fig--photo{max-width:none}
.fig--photo img{display:block;width:100%;height:auto;border:1px solid var(--rule);border-bottom:2px solid var(--brass);box-shadow:var(--shadow-md)}
.fig--photo figcaption{font-style:italic;font-family:var(--serif);font-size:15px;letter-spacing:0}
.founder-img img{opacity:1}
.pagehead--photo{
  background:
    linear-gradient(100deg,rgba(12,32,26,.96) 0%,rgba(12,32,26,.86) 45%,rgba(20,52,43,.58) 100%),
    var(--photo) no-repeat 50% 40% / cover;
}
.pagehead--photo::after{border-color:rgba(198,162,106,.22)}

/* timeline */
.tl-wrap{margin:2.4em 0}
.tl{list-style:none;margin:0;padding:0 0 0 0;position:relative;border-left:2px solid var(--brass-pale);margin-left:6px}
.tl li{position:relative;padding:0 0 22px 30px;margin:0}
.tl li::before{content:"";position:absolute;left:-7px;top:6px;width:12px;height:12px;border-radius:50%;
  background:var(--paper);border:2px solid var(--brass)}
.tl li.tl--key::before{background:var(--madder);border-color:var(--madder);box-shadow:0 0 0 4px rgba(138,59,54,.14)}
.tl-y{display:block;font:600 12.5px/1 var(--sans);letter-spacing:.14em;color:var(--brass);margin-bottom:6px}
.tl li.tl--key .tl-y{color:var(--madder)}
.tl-t{display:block;font-size:16px;line-height:1.6;color:var(--ink-2)}

/* process steps */
.steps{list-style:none;margin:2em 0 2.4em;padding:0;display:grid;grid-template-columns:repeat(6,1fr);gap:0;
  counter-reset:st;position:relative}
.steps::before{content:"";position:absolute;left:8.3%;right:8.3%;top:19px;height:2px;background:var(--brass-pale)}
.steps li{position:relative;text-align:center;padding:0 8px}
.st-n{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;
  background:var(--green);color:var(--brass-lt);font:600 14px var(--serif);border:2px solid var(--brass);
  position:relative;z-index:1;margin-bottom:12px;box-shadow:0 0 0 5px var(--paper)}
.sec--sand .st-n,.callout .st-n{box-shadow:0 0 0 5px var(--sand)}
.st-h{display:block;font:600 13.5px/1.3 var(--sans);color:var(--ink)}
.st-s{display:block;font-size:12.5px;line-height:1.4;color:var(--muted);margin-top:4px}

/* startup tax phases */
.fig--phases{max-width:720px}
.fig--phases .ph{stroke:none}
.fig--phases .ph--a{fill:var(--green)}
.fig--phases .ph--b{fill:var(--green-mid)}
.fig--phases .ph--c{fill:#D9E3DD}
.fig--phases .ph-l{font:600 14px var(--sans);fill:var(--brass-lt);letter-spacing:.04em}
.fig--phases .ph-l--dk{fill:var(--green)}
.fig--phases .ph-tick path{stroke:var(--brass);stroke-width:1.5}
.fig--phases .ph-y{font:600 12px var(--sans);fill:var(--brass);letter-spacing:.1em}
.fig--phases .ph-s{font:400 12.5px var(--sans);fill:var(--muted)}

@media (max-width:1000px){
  .split{grid-template-columns:1fr}
  .split-fig{max-width:360px}
}
@media (max-width:700px){
  .steps{grid-template-columns:1fr;gap:0}
  .steps::before{left:19px;right:auto;top:0;bottom:0;width:2px;height:auto}
  .steps li{text-align:left;display:grid;grid-template-columns:40px 1fr;column-gap:16px;padding:0 0 18px}
  .st-n{margin:0}
  .st-h{grid-column:2}
  .st-s{grid-column:2}
  .fig--phases .ph-s{font-size:15px}
}

@media print{
  .util,.site-head,.site-foot,.hero-actions,.cta{display:none}
  body{font-size:11pt;color:#000;border-top:0}
  .hero,.pagehead{background:#fff;color:#000}
  .hero h1,.pagehead h1{color:#000;text-shadow:none}
}
